From 9d3342a40b60dcc41c91ac0283cc7da942c6be54 Mon Sep 17 00:00:00 2001 From: Nikitin Aleksandr Date: Thu, 4 Apr 2024 17:59:20 +0300 Subject: [PATCH] =?UTF-8?q?=D1=81=D0=B4=D0=B5=D0=BB=D0=B0=D0=BB=20UUID?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + bin/notifier_service/.gitignore | 7 + bin/notifier_service/bin/date.txt | 1 + bin/notifier_service/bin/settings.txt | 29 + bin/notifier_service/bin/subversion.txt | 1 + bin/notifier_service/bin/version.txt | 1 + .../server_nrpc/server_nrpc_starter_test.go | 14 + .../pkg/crud_starter/crud_starter_manual.go | 15 + .../calc_struct_version.go | 29 + .../calc_struct_version_test.go | 1 + .../pkg/db/constants/constants.go | 15 + .../pkg/db/crud_functions/crud_functions.go | 37 ++ .../db/crud_functions/crud_functions_test.go | 51 ++ .../pkg/db/tables/common_struct.go | 18 + .../pkg/db/tables/ext_link_struct.go | 6 + .../pkg/db/tables/group_struct.go | 6 + .../pkg/db/tables/name_struct.go | 10 + .../grpc/grpc_constants/grpc_constants.go | 28 + .../pkg/network/grpc_nrpc/grpc_nrpc.go | 4 + .../nrpc/nrpc_constants/nrpc_constants.go | 28 + .../entities/attachament/attachament.go | 11 + .../entities/attachament/attachament_crud.go | 174 ++++++ .../attachament/attachament_manual.go | 15 + .../attachament/attachament_update.go | 39 ++ .../attachament_message.go | 10 + .../attachament_message_crud.go | 173 ++++++ .../attachament_message_manual.go | 15 + .../attachament_message_update.go | 28 + .../object_model/entities/channel/channel.go | 10 + .../entities/channel/channel_crud.go | 177 ++++++ .../entities/channel/channel_manual.go | 15 + .../entities/channel/channel_update.go | 72 +++ .../entities/channel_prod/channel_prod.go | 10 + .../channel_prod/channel_prod_crud.go | 175 ++++++ .../channel_prod/channel_prod_manual.go | 15 + .../channel_prod/channel_prod_update.go | 50 ++ .../copy_delivery_status_code.go | 10 + .../copy_delivery_status_code_crud.go | 172 ++++++ .../copy_delivery_status_code_manual.go | 15 + .../copy_delivery_status_code_update.go | 17 + .../entities/debt_list/debt_list.go | 10 + .../entities/debt_list/debt_list_crud.go | 185 ++++++ .../entities/debt_list/debt_list_manual.go | 15 + .../entities/debt_list/debt_list_update.go | 160 +++++ .../entities/debt_list2/debt_list2.go | 10 + .../entities/debt_list2/debt_list2_crud.go | 185 ++++++ .../entities/debt_list2/debt_list2_manual.go | 15 + .../entities/debt_list2/debt_list2_update.go | 160 +++++ .../entities/delivery_error/delivery_error.go | 10 + .../delivery_error/delivery_error_crud.go | 175 ++++++ .../delivery_error/delivery_error_manual.go | 15 + .../delivery_error/delivery_error_update.go | 50 ++ .../delivery_status/delivery_status.go | 10 + .../delivery_status/delivery_status_crud.go | 177 ++++++ .../delivery_status/delivery_status_manual.go | 15 + .../delivery_status/delivery_status_update.go | 72 +++ .../entities/district/district.go | 10 + .../entities/district/district_crud.go | 177 ++++++ .../entities/district/district_manual.go | 15 + .../entities/district/district_update.go | 72 +++ .../object_model/entities/filial/filial.go | 10 + .../entities/filial/filial_crud.go | 179 ++++++ .../entities/filial/filial_manual.go | 15 + .../entities/filial/filial_update.go | 94 +++ .../entities/incoming_event/incoming_event.go | 11 + .../incoming_event/incoming_event_crud.go | 178 ++++++ .../incoming_event/incoming_event_manual.go | 15 + .../incoming_event/incoming_event_update.go | 83 +++ .../entities/link_type/link_type.go | 10 + .../entities/link_type/link_type_crud.go | 173 ++++++ .../entities/link_type/link_type_manual.go | 15 + .../entities/link_type/link_type_update.go | 28 + .../object_model/entities/mailing/mailing.go | 11 + .../entities/mailing/mailing_crud.go | 181 ++++++ .../entities/mailing/mailing_manual.go | 15 + .../entities/mailing/mailing_update.go | 116 ++++ .../entities/mailing_stats/mailing_stats.go | 10 + .../mailing_stats/mailing_stats_crud.go | 176 ++++++ .../mailing_stats/mailing_stats_manual.go | 15 + .../mailing_stats/mailing_stats_update.go | 61 ++ .../object_model/entities/message/message.go | 11 + .../entities/message/message_crud.go | 197 ++++++ .../entities/message/message_manual.go | 15 + .../entities/message/message_update.go | 292 +++++++++ .../entities/meter_list/meter_list.go | 10 + .../entities/meter_list/meter_list_crud.go | 179 ++++++ .../entities/meter_list/meter_list_manual.go | 15 + .../entities/meter_list/meter_list_update.go | 94 +++ .../entities/pdf_data/pdf_data.go | 10 + .../entities/pdf_data/pdf_data_crud.go | 173 ++++++ .../entities/pdf_data/pdf_data_manual.go | 15 + .../entities/pdf_data/pdf_data_update.go | 28 + .../entities/redirect_store/redirect_store.go | 10 + .../redirect_store/redirect_store_crud.go | 173 ++++++ .../redirect_store/redirect_store_manual.go | 15 + .../redirect_store/redirect_store_update.go | 28 + .../entities/short_links/short_links.go | 10 + .../entities/short_links/short_links_crud.go | 177 ++++++ .../short_links/short_links_manual.go | 15 + .../short_links/short_links_update.go | 72 +++ .../entities/statistic/statistic.go | 10 + .../entities/statistic/statistic_crud.go | 184 ++++++ .../entities/statistic/statistic_manual.go | 15 + .../entities/statistic/statistic_update.go | 149 +++++ .../entities/telegram_users/telegram_users.go | 10 + .../telegram_users/telegram_users_crud.go | 180 ++++++ .../telegram_users/telegram_users_manual.go | 15 + .../telegram_users/telegram_users_update.go | 105 ++++ .../telegram_users_info.go | 10 + .../telegram_users_info_crud.go | 175 ++++++ .../telegram_users_info_manual.go | 15 + .../telegram_users_info_update.go | 50 ++ .../entities/template/template.go | 11 + .../entities/template/template_crud.go | 177 ++++++ .../entities/template/template_manual.go | 15 + .../entities/template/template_update.go | 72 +++ .../template_decoration.go | 10 + .../template_decoration_crud.go | 175 ++++++ .../template_decoration_manual.go | 15 + .../template_decoration_update.go | 50 ++ .../template_template_decoration.go | 10 + .../template_template_decoration_crud.go | 173 ++++++ .../template_template_decoration_manual.go | 15 + .../template_template_decoration_update.go | 28 + .../entities/u_link_store/u_link_store.go | 10 + .../u_link_store/u_link_store_crud.go | 173 ++++++ .../u_link_store/u_link_store_manual.go | 15 + .../u_link_store/u_link_store_update.go | 28 + .../entities/unique_link/unique_link.go | 10 + .../entities/unique_link/unique_link_crud.go | 180 ++++++ .../unique_link/unique_link_manual.go | 15 + .../unique_link/unique_link_update.go | 105 ++++ .../pkg/object_model/entities/w_log/w_log.go | 10 + .../object_model/entities/w_log/w_log_crud.go | 181 ++++++ .../entities/w_log/w_log_manual.go | 15 + .../entities/w_log/w_log_update.go | 116 ++++ .../w_log_message_del/w_log_message_del.go | 10 + .../w_log_message_del_crud.go | 178 ++++++ .../w_log_message_del_manual.go | 15 + .../w_log_message_del_update.go | 83 +++ .../entities/w_options/w_options.go | 10 + .../entities/w_options/w_options_crud.go | 178 ++++++ .../entities/w_options/w_options_manual.go | 15 + .../entities/w_options/w_options_update.go | 83 +++ bin/notifier_service/scripts/VersionToFile.py | 52 ++ bin/templates/configs_/mapping.json | 4 +- bin/templates/configs_/mapping.json_old | 571 ++++++++++++++++++ go.mod | 9 +- go.sum | 21 +- internal/create_files/create_files.go | 18 +- internal/create_files/db_tables/db_tables.go | 2 +- .../create_files/model_tables/model_tables.go | 2 +- internal/postgres/postgres.go | 98 ++- internal/types/types.go | 21 +- vendor/github.com/ManyakRus/starter/LICENSE | 21 + .../starter/config_main/config_main.go | 35 +- .../ManyakRus/starter/micro/microfunctions.go | 21 + .../starter/postgres_gorm/postgres_gorm.go | 5 + vendor/github.com/jackc/pgx/v5/CHANGELOG.md | 7 + .../pgx/v5/internal/sanitize/sanitize.go | 2 +- vendor/gorm.io/driver/postgres/migrator.go | 36 +- vendor/gorm.io/driver/postgres/postgres.go | 24 +- vendor/gorm.io/gorm/callbacks.go | 19 + vendor/gorm.io/gorm/callbacks/create.go | 41 +- vendor/gorm.io/gorm/callbacks/preload.go | 21 +- vendor/gorm.io/gorm/callbacks/update.go | 4 +- vendor/gorm.io/gorm/clause/where.go | 73 ++- vendor/gorm.io/gorm/logger/sql.go | 19 + vendor/gorm.io/gorm/migrator/migrator.go | 19 +- vendor/gorm.io/gorm/prepare_stmt.go | 10 +- vendor/gorm.io/gorm/scan.go | 16 +- vendor/gorm.io/gorm/schema/constraint.go | 2 +- vendor/gorm.io/gorm/schema/field.go | 6 +- vendor/gorm.io/gorm/schema/serializer.go | 4 +- vendor/gorm.io/gorm/utils/utils.go | 6 +- vendor/modules.txt | 10 +- 176 files changed, 10121 insertions(+), 155 deletions(-) create mode 100644 bin/notifier_service/.gitignore create mode 100644 bin/notifier_service/bin/date.txt create mode 100644 bin/notifier_service/bin/settings.txt create mode 100644 bin/notifier_service/bin/subversion.txt create mode 100644 bin/notifier_service/bin/version.txt create mode 100644 bin/notifier_service/internal/app/nrpc/server_nrpc/server_nrpc_starter_test.go create mode 100644 bin/notifier_service/pkg/crud_starter/crud_starter_manual.go create mode 100644 bin/notifier_service/pkg/db/calc_struct_version/calc_struct_version.go create mode 100644 bin/notifier_service/pkg/db/calc_struct_version/calc_struct_version_test.go create mode 100644 bin/notifier_service/pkg/db/constants/constants.go create mode 100644 bin/notifier_service/pkg/db/crud_functions/crud_functions.go create mode 100644 bin/notifier_service/pkg/db/crud_functions/crud_functions_test.go create mode 100644 bin/notifier_service/pkg/db/tables/common_struct.go create mode 100644 bin/notifier_service/pkg/db/tables/ext_link_struct.go create mode 100644 bin/notifier_service/pkg/db/tables/group_struct.go create mode 100644 bin/notifier_service/pkg/db/tables/name_struct.go create mode 100644 bin/notifier_service/pkg/network/grpc/grpc_constants/grpc_constants.go create mode 100644 bin/notifier_service/pkg/network/grpc_nrpc/grpc_nrpc.go create mode 100644 bin/notifier_service/pkg/network/nrpc/nrpc_constants/nrpc_constants.go create mode 100644 bin/notifier_service/pkg/object_model/entities/attachament/attachament.go create mode 100644 bin/notifier_service/pkg/object_model/entities/attachament/attachament_crud.go create mode 100644 bin/notifier_service/pkg/object_model/entities/attachament/attachament_manual.go create mode 100644 bin/notifier_service/pkg/object_model/entities/attachament/attachament_update.go create mode 100644 bin/notifier_service/pkg/object_model/entities/attachament_message/attachament_message.go create mode 100644 bin/notifier_service/pkg/object_model/entities/attachament_message/attachament_message_crud.go create mode 100644 bin/notifier_service/pkg/object_model/entities/attachament_message/attachament_message_manual.go create mode 100644 bin/notifier_service/pkg/object_model/entities/attachament_message/attachament_message_update.go create mode 100644 bin/notifier_service/pkg/object_model/entities/channel/channel.go create mode 100644 bin/notifier_service/pkg/object_model/entities/channel/channel_crud.go create mode 100644 bin/notifier_service/pkg/object_model/entities/channel/channel_manual.go create mode 100644 bin/notifier_service/pkg/object_model/entities/channel/channel_update.go create mode 100644 bin/notifier_service/pkg/object_model/entities/channel_prod/channel_prod.go create mode 100644 bin/notifier_service/pkg/object_model/entities/channel_prod/channel_prod_crud.go create mode 100644 bin/notifier_service/pkg/object_model/entities/channel_prod/channel_prod_manual.go create mode 100644 bin/notifier_service/pkg/object_model/entities/channel_prod/channel_prod_update.go create mode 100644 bin/notifier_service/pkg/object_model/entities/copy_delivery_status_code/copy_delivery_status_code.go create mode 100644 bin/notifier_service/pkg/object_model/entities/copy_delivery_status_code/copy_delivery_status_code_crud.go create mode 100644 bin/notifier_service/pkg/object_model/entities/copy_delivery_status_code/copy_delivery_status_code_manual.go create mode 100644 bin/notifier_service/pkg/object_model/entities/copy_delivery_status_code/copy_delivery_status_code_update.go create mode 100644 bin/notifier_service/pkg/object_model/entities/debt_list/debt_list.go create mode 100644 bin/notifier_service/pkg/object_model/entities/debt_list/debt_list_crud.go create mode 100644 bin/notifier_service/pkg/object_model/entities/debt_list/debt_list_manual.go create mode 100644 bin/notifier_service/pkg/object_model/entities/debt_list/debt_list_update.go create mode 100644 bin/notifier_service/pkg/object_model/entities/debt_list2/debt_list2.go create mode 100644 bin/notifier_service/pkg/object_model/entities/debt_list2/debt_list2_crud.go create mode 100644 bin/notifier_service/pkg/object_model/entities/debt_list2/debt_list2_manual.go create mode 100644 bin/notifier_service/pkg/object_model/entities/debt_list2/debt_list2_update.go create mode 100644 bin/notifier_service/pkg/object_model/entities/delivery_error/delivery_error.go create mode 100644 bin/notifier_service/pkg/object_model/entities/delivery_error/delivery_error_crud.go create mode 100644 bin/notifier_service/pkg/object_model/entities/delivery_error/delivery_error_manual.go create mode 100644 bin/notifier_service/pkg/object_model/entities/delivery_error/delivery_error_update.go create mode 100644 bin/notifier_service/pkg/object_model/entities/delivery_status/delivery_status.go create mode 100644 bin/notifier_service/pkg/object_model/entities/delivery_status/delivery_status_crud.go create mode 100644 bin/notifier_service/pkg/object_model/entities/delivery_status/delivery_status_manual.go create mode 100644 bin/notifier_service/pkg/object_model/entities/delivery_status/delivery_status_update.go create mode 100644 bin/notifier_service/pkg/object_model/entities/district/district.go create mode 100644 bin/notifier_service/pkg/object_model/entities/district/district_crud.go create mode 100644 bin/notifier_service/pkg/object_model/entities/district/district_manual.go create mode 100644 bin/notifier_service/pkg/object_model/entities/district/district_update.go create mode 100644 bin/notifier_service/pkg/object_model/entities/filial/filial.go create mode 100644 bin/notifier_service/pkg/object_model/entities/filial/filial_crud.go create mode 100644 bin/notifier_service/pkg/object_model/entities/filial/filial_manual.go create mode 100644 bin/notifier_service/pkg/object_model/entities/filial/filial_update.go create mode 100644 bin/notifier_service/pkg/object_model/entities/incoming_event/incoming_event.go create mode 100644 bin/notifier_service/pkg/object_model/entities/incoming_event/incoming_event_crud.go create mode 100644 bin/notifier_service/pkg/object_model/entities/incoming_event/incoming_event_manual.go create mode 100644 bin/notifier_service/pkg/object_model/entities/incoming_event/incoming_event_update.go create mode 100644 bin/notifier_service/pkg/object_model/entities/link_type/link_type.go create mode 100644 bin/notifier_service/pkg/object_model/entities/link_type/link_type_crud.go create mode 100644 bin/notifier_service/pkg/object_model/entities/link_type/link_type_manual.go create mode 100644 bin/notifier_service/pkg/object_model/entities/link_type/link_type_update.go create mode 100644 bin/notifier_service/pkg/object_model/entities/mailing/mailing.go create mode 100644 bin/notifier_service/pkg/object_model/entities/mailing/mailing_crud.go create mode 100644 bin/notifier_service/pkg/object_model/entities/mailing/mailing_manual.go create mode 100644 bin/notifier_service/pkg/object_model/entities/mailing/mailing_update.go create mode 100644 bin/notifier_service/pkg/object_model/entities/mailing_stats/mailing_stats.go create mode 100644 bin/notifier_service/pkg/object_model/entities/mailing_stats/mailing_stats_crud.go create mode 100644 bin/notifier_service/pkg/object_model/entities/mailing_stats/mailing_stats_manual.go create mode 100644 bin/notifier_service/pkg/object_model/entities/mailing_stats/mailing_stats_update.go create mode 100644 bin/notifier_service/pkg/object_model/entities/message/message.go create mode 100644 bin/notifier_service/pkg/object_model/entities/message/message_crud.go create mode 100644 bin/notifier_service/pkg/object_model/entities/message/message_manual.go create mode 100644 bin/notifier_service/pkg/object_model/entities/message/message_update.go create mode 100644 bin/notifier_service/pkg/object_model/entities/meter_list/meter_list.go create mode 100644 bin/notifier_service/pkg/object_model/entities/meter_list/meter_list_crud.go create mode 100644 bin/notifier_service/pkg/object_model/entities/meter_list/meter_list_manual.go create mode 100644 bin/notifier_service/pkg/object_model/entities/meter_list/meter_list_update.go create mode 100644 bin/notifier_service/pkg/object_model/entities/pdf_data/pdf_data.go create mode 100644 bin/notifier_service/pkg/object_model/entities/pdf_data/pdf_data_crud.go create mode 100644 bin/notifier_service/pkg/object_model/entities/pdf_data/pdf_data_manual.go create mode 100644 bin/notifier_service/pkg/object_model/entities/pdf_data/pdf_data_update.go create mode 100644 bin/notifier_service/pkg/object_model/entities/redirect_store/redirect_store.go create mode 100644 bin/notifier_service/pkg/object_model/entities/redirect_store/redirect_store_crud.go create mode 100644 bin/notifier_service/pkg/object_model/entities/redirect_store/redirect_store_manual.go create mode 100644 bin/notifier_service/pkg/object_model/entities/redirect_store/redirect_store_update.go create mode 100644 bin/notifier_service/pkg/object_model/entities/short_links/short_links.go create mode 100644 bin/notifier_service/pkg/object_model/entities/short_links/short_links_crud.go create mode 100644 bin/notifier_service/pkg/object_model/entities/short_links/short_links_manual.go create mode 100644 bin/notifier_service/pkg/object_model/entities/short_links/short_links_update.go create mode 100644 bin/notifier_service/pkg/object_model/entities/statistic/statistic.go create mode 100644 bin/notifier_service/pkg/object_model/entities/statistic/statistic_crud.go create mode 100644 bin/notifier_service/pkg/object_model/entities/statistic/statistic_manual.go create mode 100644 bin/notifier_service/pkg/object_model/entities/statistic/statistic_update.go create mode 100644 bin/notifier_service/pkg/object_model/entities/telegram_users/telegram_users.go create mode 100644 bin/notifier_service/pkg/object_model/entities/telegram_users/telegram_users_crud.go create mode 100644 bin/notifier_service/pkg/object_model/entities/telegram_users/telegram_users_manual.go create mode 100644 bin/notifier_service/pkg/object_model/entities/telegram_users/telegram_users_update.go create mode 100644 bin/notifier_service/pkg/object_model/entities/telegram_users_info/telegram_users_info.go create mode 100644 bin/notifier_service/pkg/object_model/entities/telegram_users_info/telegram_users_info_crud.go create mode 100644 bin/notifier_service/pkg/object_model/entities/telegram_users_info/telegram_users_info_manual.go create mode 100644 bin/notifier_service/pkg/object_model/entities/telegram_users_info/telegram_users_info_update.go create mode 100644 bin/notifier_service/pkg/object_model/entities/template/template.go create mode 100644 bin/notifier_service/pkg/object_model/entities/template/template_crud.go create mode 100644 bin/notifier_service/pkg/object_model/entities/template/template_manual.go create mode 100644 bin/notifier_service/pkg/object_model/entities/template/template_update.go create mode 100644 bin/notifier_service/pkg/object_model/entities/template_decoration/template_decoration.go create mode 100644 bin/notifier_service/pkg/object_model/entities/template_decoration/template_decoration_crud.go create mode 100644 bin/notifier_service/pkg/object_model/entities/template_decoration/template_decoration_manual.go create mode 100644 bin/notifier_service/pkg/object_model/entities/template_decoration/template_decoration_update.go create mode 100644 bin/notifier_service/pkg/object_model/entities/template_template_decoration/template_template_decoration.go create mode 100644 bin/notifier_service/pkg/object_model/entities/template_template_decoration/template_template_decoration_crud.go create mode 100644 bin/notifier_service/pkg/object_model/entities/template_template_decoration/template_template_decoration_manual.go create mode 100644 bin/notifier_service/pkg/object_model/entities/template_template_decoration/template_template_decoration_update.go create mode 100644 bin/notifier_service/pkg/object_model/entities/u_link_store/u_link_store.go create mode 100644 bin/notifier_service/pkg/object_model/entities/u_link_store/u_link_store_crud.go create mode 100644 bin/notifier_service/pkg/object_model/entities/u_link_store/u_link_store_manual.go create mode 100644 bin/notifier_service/pkg/object_model/entities/u_link_store/u_link_store_update.go create mode 100644 bin/notifier_service/pkg/object_model/entities/unique_link/unique_link.go create mode 100644 bin/notifier_service/pkg/object_model/entities/unique_link/unique_link_crud.go create mode 100644 bin/notifier_service/pkg/object_model/entities/unique_link/unique_link_manual.go create mode 100644 bin/notifier_service/pkg/object_model/entities/unique_link/unique_link_update.go create mode 100644 bin/notifier_service/pkg/object_model/entities/w_log/w_log.go create mode 100644 bin/notifier_service/pkg/object_model/entities/w_log/w_log_crud.go create mode 100644 bin/notifier_service/pkg/object_model/entities/w_log/w_log_manual.go create mode 100644 bin/notifier_service/pkg/object_model/entities/w_log/w_log_update.go create mode 100644 bin/notifier_service/pkg/object_model/entities/w_log_message_del/w_log_message_del.go create mode 100644 bin/notifier_service/pkg/object_model/entities/w_log_message_del/w_log_message_del_crud.go create mode 100644 bin/notifier_service/pkg/object_model/entities/w_log_message_del/w_log_message_del_manual.go create mode 100644 bin/notifier_service/pkg/object_model/entities/w_log_message_del/w_log_message_del_update.go create mode 100644 bin/notifier_service/pkg/object_model/entities/w_options/w_options.go create mode 100644 bin/notifier_service/pkg/object_model/entities/w_options/w_options_crud.go create mode 100644 bin/notifier_service/pkg/object_model/entities/w_options/w_options_manual.go create mode 100644 bin/notifier_service/pkg/object_model/entities/w_options/w_options_update.go create mode 100755 bin/notifier_service/scripts/VersionToFile.py create mode 100644 bin/templates/configs_/mapping.json_old create mode 100644 vendor/github.com/ManyakRus/starter/LICENSE diff --git a/.gitignore b/.gitignore index d6c808d..2afffb9 100644 --- a/.gitignore +++ b/.gitignore @@ -21,3 +21,4 @@ /bin/templates_main/ /bin/templates/configs_/.env_rapira /bin/templates/configs_/.env_test +/bin/templates/configs_/.env0 diff --git a/bin/notifier_service/.gitignore b/bin/notifier_service/.gitignore new file mode 100644 index 0000000..c270948 --- /dev/null +++ b/bin/notifier_service/.gitignore @@ -0,0 +1,7 @@ +.env +/bin/.env + +/.idea/ +.vscode +/log.txt +cover.out diff --git a/bin/notifier_service/bin/date.txt b/bin/notifier_service/bin/date.txt new file mode 100644 index 0000000..99a18f2 --- /dev/null +++ b/bin/notifier_service/bin/date.txt @@ -0,0 +1 @@ +2023-11-15 12:11:15.838 \ No newline at end of file diff --git a/bin/notifier_service/bin/settings.txt b/bin/notifier_service/bin/settings.txt new file mode 100644 index 0000000..01ca9cb --- /dev/null +++ b/bin/notifier_service/bin/settings.txt @@ -0,0 +1,29 @@ +STAGE="local" +LOG_LEVEL="debug" + +#---------------------Database settings--------------------- +#DB_HOST - Database server name or ip-address. Only Postgres SQL +DB_HOST="" + +#DB_NAME - Database table name +DB_NAME="" + +#DB_SCHEME - Database schema name +DB_SCHEME="public" + +#DB_PORT - Database port number +DB_PORT="5432" + +#DB_USER - Database login (user) +DB_USER="" + +#DB_PASSWORD - Database login password +DB_PASSWORD="" + + +#---------------------NATS messages broker settings--------------------- +NATS_HOST="" +NATS_PORT="" +NATS_LOGIN="" +NATS_PASSWORD="" + diff --git a/bin/notifier_service/bin/subversion.txt b/bin/notifier_service/bin/subversion.txt new file mode 100644 index 0000000..4424fb1 --- /dev/null +++ b/bin/notifier_service/bin/subversion.txt @@ -0,0 +1 @@ +00133 \ No newline at end of file diff --git a/bin/notifier_service/bin/version.txt b/bin/notifier_service/bin/version.txt new file mode 100644 index 0000000..a5e11e5 --- /dev/null +++ b/bin/notifier_service/bin/version.txt @@ -0,0 +1 @@ +v0 \ No newline at end of file diff --git a/bin/notifier_service/internal/app/nrpc/server_nrpc/server_nrpc_starter_test.go b/bin/notifier_service/internal/app/nrpc/server_nrpc/server_nrpc_starter_test.go new file mode 100644 index 0000000..69a116f --- /dev/null +++ b/bin/notifier_service/internal/app/nrpc/server_nrpc/server_nrpc_starter_test.go @@ -0,0 +1,14 @@ +package server_nrpc + +import ( + config_main "github.com/ManyakRus/starter/config_main" + "testing" +) + +func TestConnect(t *testing.T) { + config_main.LoadEnv() + FillSettings() + + Connect() + CloseConnection() +} diff --git a/bin/notifier_service/pkg/crud_starter/crud_starter_manual.go b/bin/notifier_service/pkg/crud_starter/crud_starter_manual.go new file mode 100644 index 0000000..f647a6c --- /dev/null +++ b/bin/notifier_service/pkg/crud_starter/crud_starter_manual.go @@ -0,0 +1,15 @@ +package crud_starter + +import () + +// initCrudTransport_manual_DB - заполняет объекты crud для работы с БД напрямую +func initCrudTransport_manual_DB() { +} + +// initCrudTransport_manual_GRPC - заполняет объекты crud для работы с БД напрямую +func initCrudTransport_manual_GRPC() { +} + +// initCrudTransport_manual_NRPC - заполняет объекты crud для работы с БД напрямую +func initCrudTransport_manual_NRPC() { +} diff --git a/bin/notifier_service/pkg/db/calc_struct_version/calc_struct_version.go b/bin/notifier_service/pkg/db/calc_struct_version/calc_struct_version.go new file mode 100644 index 0000000..ccf2bce --- /dev/null +++ b/bin/notifier_service/pkg/db/calc_struct_version/calc_struct_version.go @@ -0,0 +1,29 @@ +package calc_struct_version + +import ( + "github.com/ManyakRus/starter/micro" + "reflect" +) + +// CalcStructVersion - вычисляет версию модели +func CalcStructVersion(t reflect.Type) uint32 { + var ReturnVar uint32 + + names := make([]string, t.NumField()) + + // имя + тип поля + s := "" + for i := range names { + Field1 := t.Field(i) + s = s + Field1.Name + s = s + Field1.Type.Name() + if Field1.Anonymous == true && Field1.Type != t { + version2 := CalcStructVersion(Field1.Type) + ReturnVar = ReturnVar + version2 + } + } + + ReturnVar = ReturnVar + micro.Hash(s) + + return ReturnVar +} diff --git a/bin/notifier_service/pkg/db/calc_struct_version/calc_struct_version_test.go b/bin/notifier_service/pkg/db/calc_struct_version/calc_struct_version_test.go new file mode 100644 index 0000000..b94001d --- /dev/null +++ b/bin/notifier_service/pkg/db/calc_struct_version/calc_struct_version_test.go @@ -0,0 +1 @@ +package calc_struct_version diff --git a/bin/notifier_service/pkg/db/constants/constants.go b/bin/notifier_service/pkg/db/constants/constants.go new file mode 100644 index 0000000..d1deba6 --- /dev/null +++ b/bin/notifier_service/pkg/db/constants/constants.go @@ -0,0 +1,15 @@ +package constants + +import ( + "errors" +) + +const CONNECTION_ID_TEST = 3 + +const TIMEOUT_DB_SECONDS = 30 + +const TEXT_RECORD_NOT_FOUND = "record not found" + +const TextCrudIsNotInit = "Need initializate crud with InitCrudTransport_NRPC() function at first." + +var ErrorCrudIsNotInit error = errors.New(TextCrudIsNotInit) diff --git a/bin/notifier_service/pkg/db/crud_functions/crud_functions.go b/bin/notifier_service/pkg/db/crud_functions/crud_functions.go new file mode 100644 index 0000000..97e7b8b --- /dev/null +++ b/bin/notifier_service/pkg/db/crud_functions/crud_functions.go @@ -0,0 +1,37 @@ +package crud_functions + +import ( + "gorm.io/gorm" + "slices" +) + +// MapOmit_from_MassOmit - создает MapOmit из MassOmit +func MapOmit_from_MassOmit(MassOmit []string) map[string]interface{} { + MapOmit := make(map[string]interface{}, 0) + for _, v := range MassOmit { + MapOmit[v] = gorm.Expr("NULL") + } + + return MapOmit +} + +// MassNeedFields_from_MassNeedUpdateFields - создает MassFields из MassNeedUpdateFields +// копирует все элементты и добавляет "ModifiedAt" и др. +func MassNeedFields_from_MassNeedUpdateFields(MassNeedUpdateFields []string) []string { + //колонки для обновления + MassFields := make([]string, len(MassNeedUpdateFields)) + copy(MassFields, MassNeedUpdateFields) + MassFields = append(MassFields, "ModifiedAt") + + // DeletedAt вместе с IsDeleted + if slices.Contains(MassNeedUpdateFields, "IsDeleted") == true { + MassFields = append(MassFields, "DeletedAt") + } + + //// CreatedAt вместе с ID=0 + //if slices.Contains(MassNeedUpdateFields, "ID") == true { + // MassFields = append(MassFields, "CreatedAt") + //} + + return MassFields +} diff --git a/bin/notifier_service/pkg/db/crud_functions/crud_functions_test.go b/bin/notifier_service/pkg/db/crud_functions/crud_functions_test.go new file mode 100644 index 0000000..4763c13 --- /dev/null +++ b/bin/notifier_service/pkg/db/crud_functions/crud_functions_test.go @@ -0,0 +1,51 @@ +package crud_functions + +import ( + "gorm.io/gorm" + "reflect" + "testing" +) + +func TestMapOmit_from_MassOmit(t *testing.T) { + t.Run("Empty input slice", func(t *testing.T) { + MassOmit := []string{} + result := MapOmit_from_MassOmit(MassOmit) + if len(result) != 0 { + t.Errorf("Expected an empty map, but got %v", result) + } + }) + + t.Run("Non-empty input slice", func(t *testing.T) { + MassOmit := []string{"key1", "key2"} + result := MapOmit_from_MassOmit(MassOmit) + expected := map[string]interface{}{ + "key1": gorm.Expr("NULL"), + "key2": gorm.Expr("NULL"), + } + if !reflect.DeepEqual(result, expected) { + t.Errorf("Expected %v, but got %v", expected, result) + } + }) +} + +func TestMassNeedFields_from_MassNeedUpdateFields(t *testing.T) { + tests := []struct { + name string + input []string + expected []string + }{ + {"Empty input", []string{}, []string{"ModifiedAt"}}, + //{"Contains IsDeleted and ID", []string{"IsDeleted", "ID"}, []string{"IsDeleted", "ID", "ModifiedAt", "DeletedAt", "CreatedAt"}}, + {"Contains only IsDeleted", []string{"IsDeleted"}, []string{"IsDeleted", "ModifiedAt", "DeletedAt"}}, + //{"Contains only ID", []string{"ID"}, []string{"ID", "ModifiedAt", "CreatedAt"}}, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + result := MassNeedFields_from_MassNeedUpdateFields(tt.input) + if !reflect.DeepEqual(result, tt.expected) { + t.Errorf("Expected %v, but got %v", tt.expected, result) + } + }) + } +} diff --git a/bin/notifier_service/pkg/db/tables/common_struct.go b/bin/notifier_service/pkg/db/tables/common_struct.go new file mode 100644 index 0000000..bf80f25 --- /dev/null +++ b/bin/notifier_service/pkg/db/tables/common_struct.go @@ -0,0 +1,18 @@ +package tables + +import ( + "time" +) + +// =========================================================================== +// ===== Объекты ===== +// =========================================================================== + +type CommonStruct struct { + ID int64 `json:"id" gorm:"column:id;primaryKey;autoIncrement:true"` + ExtID int64 `json:"ext_id" gorm:"column:ext_id;default:null"` + CreatedAt time.Time `json:"created_at" gorm:"column:created_at;autoCreateTime"` + ModifiedAt time.Time `json:"modified_at" gorm:"column:modified_at;autoUpdateTime"` + DeletedAt time.Time `json:"deleted_at" gorm:"column:deleted_at;default:null"` + IsDeleted bool `json:"is_deleted" gorm:"column:is_deleted;default:false"` +} diff --git a/bin/notifier_service/pkg/db/tables/ext_link_struct.go b/bin/notifier_service/pkg/db/tables/ext_link_struct.go new file mode 100644 index 0000000..272e5d4 --- /dev/null +++ b/bin/notifier_service/pkg/db/tables/ext_link_struct.go @@ -0,0 +1,6 @@ +package tables + +type ExtLinkStruct struct { + TableNameID int64 `json:"table_name_id" gorm:"column:table_name_id;default:null"` + TableRowID int64 `json:"table_row_id" gorm:"column:table_row_id;default:null"` +} diff --git a/bin/notifier_service/pkg/db/tables/group_struct.go b/bin/notifier_service/pkg/db/tables/group_struct.go new file mode 100644 index 0000000..81744c5 --- /dev/null +++ b/bin/notifier_service/pkg/db/tables/group_struct.go @@ -0,0 +1,6 @@ +package tables + +type GroupStruct struct { + IsGroup bool `json:"is_group" gorm:"column:is_group;default:false"` + ParentID int64 `json:"parent_id" gorm:"column:parent_id;default:null"` +} diff --git a/bin/notifier_service/pkg/db/tables/name_struct.go b/bin/notifier_service/pkg/db/tables/name_struct.go new file mode 100644 index 0000000..9310c26 --- /dev/null +++ b/bin/notifier_service/pkg/db/tables/name_struct.go @@ -0,0 +1,10 @@ +package tables + +// =========================================================================== +// ===== Списки ===== +// =========================================================================== + +type NameStruct struct { + Description string `json:"description" gorm:"column:description;default:\"\""` + Name string `json:"name" gorm:"column:name;default:\"\""` +} diff --git a/bin/notifier_service/pkg/network/grpc/grpc_constants/grpc_constants.go b/bin/notifier_service/pkg/network/grpc/grpc_constants/grpc_constants.go new file mode 100644 index 0000000..3b064b5 --- /dev/null +++ b/bin/notifier_service/pkg/network/grpc/grpc_constants/grpc_constants.go @@ -0,0 +1,28 @@ +package grpc_constants + +import "sync" + +// timeout_seconds - время ожидания ответа +var timeout_seconds int = 30 + +// TEXT_ERROR_MODEL_VERSION - текст ошибки версии модели +const TEXT_ERROR_MODEL_VERSION = "Error: wrong version object model" + +// mutex_TIMEOUT_SECONDS - защита от многопоточности GetTimeoutSeconds() +var mutex_TIMEOUT_SECONDS sync.RWMutex + +// GetTimeoutSeconds - возвращает время ожидания ответа +func GetTimeoutSeconds() int { + mutex_TIMEOUT_SECONDS.RLock() + defer mutex_TIMEOUT_SECONDS.RUnlock() + + return timeout_seconds +} + +// SetTimeoutSeconds - устанавливает время ожидания ответа +func SetTimeoutSeconds(seconds int) { + mutex_TIMEOUT_SECONDS.Lock() + defer mutex_TIMEOUT_SECONDS.Unlock() + + timeout_seconds = seconds +} diff --git a/bin/notifier_service/pkg/network/grpc_nrpc/grpc_nrpc.go b/bin/notifier_service/pkg/network/grpc_nrpc/grpc_nrpc.go new file mode 100644 index 0000000..1343b82 --- /dev/null +++ b/bin/notifier_service/pkg/network/grpc_nrpc/grpc_nrpc.go @@ -0,0 +1,4 @@ +package grpc_nrpc + +// NeedNRPC - нужно ли использовать NRPC или GRPC +var NeedNRPC bool diff --git a/bin/notifier_service/pkg/network/nrpc/nrpc_constants/nrpc_constants.go b/bin/notifier_service/pkg/network/nrpc/nrpc_constants/nrpc_constants.go new file mode 100644 index 0000000..2db56f9 --- /dev/null +++ b/bin/notifier_service/pkg/network/nrpc/nrpc_constants/nrpc_constants.go @@ -0,0 +1,28 @@ +package nrpc_constants + +import "sync" + +// timeout_seconds - время ожидания ответа +var timeout_seconds int = 30 + +// TEXT_ERROR_MODEL_VERSION - текст ошибки версии модели +const TEXT_ERROR_MODEL_VERSION = "Error: wrong version object model" + +// mutex_TIMEOUT_SECONDS - защита от многопоточности GetTimeoutSeconds() +var mutex_TIMEOUT_SECONDS sync.RWMutex + +// GetTimeoutSeconds - возвращает время ожидания ответа +func GetTimeoutSeconds() int { + mutex_TIMEOUT_SECONDS.RLock() + defer mutex_TIMEOUT_SECONDS.RUnlock() + + return timeout_seconds +} + +// SetTimeoutSeconds - устанавливает время ожидания ответа +func SetTimeoutSeconds(seconds int) { + mutex_TIMEOUT_SECONDS.Lock() + defer mutex_TIMEOUT_SECONDS.Unlock() + + timeout_seconds = seconds +} diff --git a/bin/notifier_service/pkg/object_model/entities/attachament/attachament.go b/bin/notifier_service/pkg/object_model/entities/attachament/attachament.go new file mode 100644 index 0000000..5b86c5d --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/attachament/attachament.go @@ -0,0 +1,11 @@ +package attachament + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/tables/table_attachament" +) + +// Attachament - модель для таблицы attachament: Вложения прикладываемые к сообщению +Целевая БД сервиса уведомлений +type Attachament struct { + table_attachament.Table_Attachament +} diff --git a/bin/notifier_service/pkg/object_model/entities/attachament/attachament_crud.go b/bin/notifier_service/pkg/object_model/entities/attachament/attachament_crud.go new file mode 100644 index 0000000..05b2df4 --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/attachament/attachament_crud.go @@ -0,0 +1,174 @@ +//Файл создан автоматически кодогенератором crud_generator +//Не изменяйте ничего здесь. + +package attachament + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/constants" + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/calc_struct_version" + "encoding/json" + "github.com/vmihailenco/msgpack/v5" + "reflect" +) + +// versionAttachament - версия структуры модели, с учётом имен и типов полей +var versionAttachament uint32 + +// Crud_Attachament - объект контроллер crud операций +var Crud_Attachament ICrud_Attachament + +// интерфейс стандартных CRUD операций, для использования в DB или GRPC или NRPC +type ICrud_Attachament interface { + Read(*Attachament) error + Save(*Attachament) error + Update(*Attachament) error + Create(*Attachament) error + ReadFromCache(ID int64) (Attachament, error) + UpdateManyFields(*Attachament, []string) error + Update_Dataset(*Attachament) error + Update_Filename(*Attachament) error + Update_Qrutm(*Attachament) error +} + +// TableName - возвращает имя таблицы в БД +func (m Attachament) TableNameDB() string { + return "attachament" +} + +// NewAttachament - возвращает новый объект +func NewAttachament() Attachament { + return Attachament{} +} + +// AsAttachament - создаёт объект из упакованного объекта в массиве байтов +func AsAttachament(b []byte) (Attachament, error) { + c := NewAttachament() + err := msgpack.Unmarshal(b, &c) + if err != nil { + return NewAttachament(), err + } + return c, nil +} + +// AttachamentAsBytes - упаковывает объект в массив байтов +func AttachamentAsBytes(m *Attachament) ([]byte, error) { + b, err := msgpack.Marshal(m) + if err != nil { + return nil, err + } + return b, nil +} + +// GetStructVersion - возвращает версию модели +func (m Attachament) GetStructVersion() uint32 { + if versionAttachament == 0 { + versionAttachament = calc_struct_version.CalcStructVersion(reflect.TypeOf(m)) + } + + return versionAttachament +} + +// GetModelFromJSON - создаёт модель из строки json +func (m *Attachament) GetModelFromJSON(sModel string) error { + var err error + + var bytes []byte + bytes = []byte(sModel) + + err = json.Unmarshal(bytes, m) + + return err +} + +// GetJSON - возвращает строку json из модели +func (m Attachament) GetJSON() (string, error) { + var ReturnVar string + var err error + + bytes, err := json.Marshal(m) + if err != nil { + return ReturnVar, err + } + ReturnVar = string(bytes) + return ReturnVar, err +} + +// ---------------------------- CRUD операции ------------------------------------------------------------ + +// Read - находит запись в БД по ID, и заполняет в объект +func (m *Attachament) Read() error { + if Crud_Attachament == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Attachament.Read(m) + + return err +} + +// Save - записывает объект в БД по ID +func (m *Attachament) Save() error { + if Crud_Attachament == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Attachament.Save(m) + + return err +} + +// Update - обновляет объект в БД по ID +func (m *Attachament) Update() error { + if Crud_Attachament == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Attachament.Update(m) + + return err +} + +// Create - создаёт объект в БД с новым ID +func (m *Attachament) Create() error { + if Crud_Attachament == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Attachament.Create(m) + + return err +} + +// ReadFromCache - находит запись в кэше или в БД по ID, и заполняет в объект +func (m *Attachament) ReadFromCache(ID int64) (Attachament, error) { + Otvet := Attachament{} + var err error + + if Crud_Attachament == nil { + return Otvet, constants.ErrorCrudIsNotInit + } + + Otvet, err = Crud_Attachament.ReadFromCache(ID) + + return Otvet, err +} + +// SetCrudInterface - заполняет интерфейс crud: DB, GRPC, NRPC +func (m Attachament) SetCrudInterface(crud ICrud_Attachament) { + Crud_Attachament = crud + + return +} + +// UpdateManyFields - находит запись в БД по ID, и изменяет только нужные колонки +func (m *Attachament) UpdateManyFields(MassNeedUpdateFields []string) error { + if Crud_Attachament == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Attachament.UpdateManyFields(m, MassNeedUpdateFields) + + return err +} + +// ---------------------------- конец CRUD операции ------------------------------------------------------------ diff --git a/bin/notifier_service/pkg/object_model/entities/attachament/attachament_manual.go b/bin/notifier_service/pkg/object_model/entities/attachament/attachament_manual.go new file mode 100644 index 0000000..300bd8c --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/attachament/attachament_manual.go @@ -0,0 +1,15 @@ +package attachament + +// Crud_manual_Attachament - объект контроллер crud операций +var Crud_manual_Attachament ICrud_manual_Attachament + +// интерфейс CRUD операций сделанных вручную, для использования в DB или GRPC или NRPC +type ICrud_manual_Attachament interface { +} + +// SetCrudManualInterface - заполняет интерфейс crud: DB, GRPC, NRPC +func (m Attachament) SetCrudManualInterface(crud ICrud_manual_Attachament) { + Crud_manual_Attachament = crud + + return +} diff --git a/bin/notifier_service/pkg/object_model/entities/attachament/attachament_update.go b/bin/notifier_service/pkg/object_model/entities/attachament/attachament_update.go new file mode 100644 index 0000000..fabade9 --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/attachament/attachament_update.go @@ -0,0 +1,39 @@ +package attachament + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/constants" + ) + + +// Update_Dataset - изменяет объект в БД по ID, присваивает Dataset +func (m *Attachament) Update_Dataset() error { + if Crud_Attachament == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Attachament.Update_Dataset(m) + + return err +} + +// Update_Filename - изменяет объект в БД по ID, присваивает Filename +func (m *Attachament) Update_Filename() error { + if Crud_Attachament == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Attachament.Update_Filename(m) + + return err +} + +// Update_Qrutm - изменяет объект в БД по ID, присваивает Qrutm +func (m *Attachament) Update_Qrutm() error { + if Crud_Attachament == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Attachament.Update_Qrutm(m) + + return err +} diff --git a/bin/notifier_service/pkg/object_model/entities/attachament_message/attachament_message.go b/bin/notifier_service/pkg/object_model/entities/attachament_message/attachament_message.go new file mode 100644 index 0000000..8bae8bd --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/attachament_message/attachament_message.go @@ -0,0 +1,10 @@ +package attachament_message + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/tables/table_attachament_message" +) + +// AttachamentMessage - модель для таблицы attachament_message: +type AttachamentMessage struct { + table_attachament_message.Table_AttachamentMessage +} diff --git a/bin/notifier_service/pkg/object_model/entities/attachament_message/attachament_message_crud.go b/bin/notifier_service/pkg/object_model/entities/attachament_message/attachament_message_crud.go new file mode 100644 index 0000000..48f547c --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/attachament_message/attachament_message_crud.go @@ -0,0 +1,173 @@ +//Файл создан автоматически кодогенератором crud_generator +//Не изменяйте ничего здесь. + +package attachament_message + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/constants" + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/calc_struct_version" + "encoding/json" + "github.com/vmihailenco/msgpack/v5" + "reflect" +) + +// versionAttachamentMessage - версия структуры модели, с учётом имен и типов полей +var versionAttachamentMessage uint32 + +// Crud_AttachamentMessage - объект контроллер crud операций +var Crud_AttachamentMessage ICrud_AttachamentMessage + +// интерфейс стандартных CRUD операций, для использования в DB или GRPC или NRPC +type ICrud_AttachamentMessage interface { + Read(*AttachamentMessage) error + Save(*AttachamentMessage) error + Update(*AttachamentMessage) error + Create(*AttachamentMessage) error + ReadFromCache(ID int64) (AttachamentMessage, error) + UpdateManyFields(*AttachamentMessage, []string) error + Update_AttachamentID(*AttachamentMessage) error + Update_MessageID(*AttachamentMessage) error +} + +// TableName - возвращает имя таблицы в БД +func (m AttachamentMessage) TableNameDB() string { + return "attachament_message" +} + +// NewAttachamentMessage - возвращает новый объект +func NewAttachamentMessage() AttachamentMessage { + return AttachamentMessage{} +} + +// AsAttachamentMessage - создаёт объект из упакованного объекта в массиве байтов +func AsAttachamentMessage(b []byte) (AttachamentMessage, error) { + c := NewAttachamentMessage() + err := msgpack.Unmarshal(b, &c) + if err != nil { + return NewAttachamentMessage(), err + } + return c, nil +} + +// AttachamentMessageAsBytes - упаковывает объект в массив байтов +func AttachamentMessageAsBytes(m *AttachamentMessage) ([]byte, error) { + b, err := msgpack.Marshal(m) + if err != nil { + return nil, err + } + return b, nil +} + +// GetStructVersion - возвращает версию модели +func (m AttachamentMessage) GetStructVersion() uint32 { + if versionAttachamentMessage == 0 { + versionAttachamentMessage = calc_struct_version.CalcStructVersion(reflect.TypeOf(m)) + } + + return versionAttachamentMessage +} + +// GetModelFromJSON - создаёт модель из строки json +func (m *AttachamentMessage) GetModelFromJSON(sModel string) error { + var err error + + var bytes []byte + bytes = []byte(sModel) + + err = json.Unmarshal(bytes, m) + + return err +} + +// GetJSON - возвращает строку json из модели +func (m AttachamentMessage) GetJSON() (string, error) { + var ReturnVar string + var err error + + bytes, err := json.Marshal(m) + if err != nil { + return ReturnVar, err + } + ReturnVar = string(bytes) + return ReturnVar, err +} + +// ---------------------------- CRUD операции ------------------------------------------------------------ + +// Read - находит запись в БД по ID, и заполняет в объект +func (m *AttachamentMessage) Read() error { + if Crud_AttachamentMessage == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_AttachamentMessage.Read(m) + + return err +} + +// Save - записывает объект в БД по ID +func (m *AttachamentMessage) Save() error { + if Crud_AttachamentMessage == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_AttachamentMessage.Save(m) + + return err +} + +// Update - обновляет объект в БД по ID +func (m *AttachamentMessage) Update() error { + if Crud_AttachamentMessage == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_AttachamentMessage.Update(m) + + return err +} + +// Create - создаёт объект в БД с новым ID +func (m *AttachamentMessage) Create() error { + if Crud_AttachamentMessage == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_AttachamentMessage.Create(m) + + return err +} + +// ReadFromCache - находит запись в кэше или в БД по ID, и заполняет в объект +func (m *AttachamentMessage) ReadFromCache(ID int64) (AttachamentMessage, error) { + Otvet := AttachamentMessage{} + var err error + + if Crud_AttachamentMessage == nil { + return Otvet, constants.ErrorCrudIsNotInit + } + + Otvet, err = Crud_AttachamentMessage.ReadFromCache(ID) + + return Otvet, err +} + +// SetCrudInterface - заполняет интерфейс crud: DB, GRPC, NRPC +func (m AttachamentMessage) SetCrudInterface(crud ICrud_AttachamentMessage) { + Crud_AttachamentMessage = crud + + return +} + +// UpdateManyFields - находит запись в БД по ID, и изменяет только нужные колонки +func (m *AttachamentMessage) UpdateManyFields(MassNeedUpdateFields []string) error { + if Crud_AttachamentMessage == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_AttachamentMessage.UpdateManyFields(m, MassNeedUpdateFields) + + return err +} + +// ---------------------------- конец CRUD операции ------------------------------------------------------------ diff --git a/bin/notifier_service/pkg/object_model/entities/attachament_message/attachament_message_manual.go b/bin/notifier_service/pkg/object_model/entities/attachament_message/attachament_message_manual.go new file mode 100644 index 0000000..b1f812f --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/attachament_message/attachament_message_manual.go @@ -0,0 +1,15 @@ +package attachament_message + +// Crud_manual_AttachamentMessage - объект контроллер crud операций +var Crud_manual_AttachamentMessage ICrud_manual_AttachamentMessage + +// интерфейс CRUD операций сделанных вручную, для использования в DB или GRPC или NRPC +type ICrud_manual_AttachamentMessage interface { +} + +// SetCrudManualInterface - заполняет интерфейс crud: DB, GRPC, NRPC +func (m AttachamentMessage) SetCrudManualInterface(crud ICrud_manual_AttachamentMessage) { + Crud_manual_AttachamentMessage = crud + + return +} diff --git a/bin/notifier_service/pkg/object_model/entities/attachament_message/attachament_message_update.go b/bin/notifier_service/pkg/object_model/entities/attachament_message/attachament_message_update.go new file mode 100644 index 0000000..e1801e0 --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/attachament_message/attachament_message_update.go @@ -0,0 +1,28 @@ +package attachament_message + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/constants" + ) + + +// Update_AttachamentID - изменяет объект в БД по ID, присваивает AttachamentID +func (m *AttachamentMessage) Update_AttachamentID() error { + if Crud_AttachamentMessage == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_AttachamentMessage.Update_AttachamentID(m) + + return err +} + +// Update_MessageID - изменяет объект в БД по ID, присваивает MessageID +func (m *AttachamentMessage) Update_MessageID() error { + if Crud_AttachamentMessage == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_AttachamentMessage.Update_MessageID(m) + + return err +} diff --git a/bin/notifier_service/pkg/object_model/entities/channel/channel.go b/bin/notifier_service/pkg/object_model/entities/channel/channel.go new file mode 100644 index 0000000..ed9304f --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/channel/channel.go @@ -0,0 +1,10 @@ +package channel + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/tables/table_channel" +) + +// Channel - модель для таблицы channel: справочник каналов доставки +type Channel struct { + table_channel.Table_Channel +} diff --git a/bin/notifier_service/pkg/object_model/entities/channel/channel_crud.go b/bin/notifier_service/pkg/object_model/entities/channel/channel_crud.go new file mode 100644 index 0000000..e2e73db --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/channel/channel_crud.go @@ -0,0 +1,177 @@ +//Файл создан автоматически кодогенератором crud_generator +//Не изменяйте ничего здесь. + +package channel + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/constants" + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/calc_struct_version" + "encoding/json" + "github.com/vmihailenco/msgpack/v5" + "reflect" +) + +// versionChannel - версия структуры модели, с учётом имен и типов полей +var versionChannel uint32 + +// Crud_Channel - объект контроллер crud операций +var Crud_Channel ICrud_Channel + +// интерфейс стандартных CRUD операций, для использования в DB или GRPC или NRPC +type ICrud_Channel interface { + Read(*Channel) error + Save(*Channel) error + Update(*Channel) error + Create(*Channel) error + ReadFromCache(ID int64) (Channel, error) + UpdateManyFields(*Channel, []string) error + Update_Code(*Channel) error + Update_Description(*Channel) error + Update_IsActive(*Channel) error + Update_LatName(*Channel) error + Update_Name(*Channel) error + Update_StekCode(*Channel) error +} + +// TableName - возвращает имя таблицы в БД +func (m Channel) TableNameDB() string { + return "channel" +} + +// NewChannel - возвращает новый объект +func NewChannel() Channel { + return Channel{} +} + +// AsChannel - создаёт объект из упакованного объекта в массиве байтов +func AsChannel(b []byte) (Channel, error) { + c := NewChannel() + err := msgpack.Unmarshal(b, &c) + if err != nil { + return NewChannel(), err + } + return c, nil +} + +// ChannelAsBytes - упаковывает объект в массив байтов +func ChannelAsBytes(m *Channel) ([]byte, error) { + b, err := msgpack.Marshal(m) + if err != nil { + return nil, err + } + return b, nil +} + +// GetStructVersion - возвращает версию модели +func (m Channel) GetStructVersion() uint32 { + if versionChannel == 0 { + versionChannel = calc_struct_version.CalcStructVersion(reflect.TypeOf(m)) + } + + return versionChannel +} + +// GetModelFromJSON - создаёт модель из строки json +func (m *Channel) GetModelFromJSON(sModel string) error { + var err error + + var bytes []byte + bytes = []byte(sModel) + + err = json.Unmarshal(bytes, m) + + return err +} + +// GetJSON - возвращает строку json из модели +func (m Channel) GetJSON() (string, error) { + var ReturnVar string + var err error + + bytes, err := json.Marshal(m) + if err != nil { + return ReturnVar, err + } + ReturnVar = string(bytes) + return ReturnVar, err +} + +// ---------------------------- CRUD операции ------------------------------------------------------------ + +// Read - находит запись в БД по ID, и заполняет в объект +func (m *Channel) Read() error { + if Crud_Channel == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Channel.Read(m) + + return err +} + +// Save - записывает объект в БД по ID +func (m *Channel) Save() error { + if Crud_Channel == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Channel.Save(m) + + return err +} + +// Update - обновляет объект в БД по ID +func (m *Channel) Update() error { + if Crud_Channel == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Channel.Update(m) + + return err +} + +// Create - создаёт объект в БД с новым ID +func (m *Channel) Create() error { + if Crud_Channel == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Channel.Create(m) + + return err +} + +// ReadFromCache - находит запись в кэше или в БД по ID, и заполняет в объект +func (m *Channel) ReadFromCache(ID int64) (Channel, error) { + Otvet := Channel{} + var err error + + if Crud_Channel == nil { + return Otvet, constants.ErrorCrudIsNotInit + } + + Otvet, err = Crud_Channel.ReadFromCache(ID) + + return Otvet, err +} + +// SetCrudInterface - заполняет интерфейс crud: DB, GRPC, NRPC +func (m Channel) SetCrudInterface(crud ICrud_Channel) { + Crud_Channel = crud + + return +} + +// UpdateManyFields - находит запись в БД по ID, и изменяет только нужные колонки +func (m *Channel) UpdateManyFields(MassNeedUpdateFields []string) error { + if Crud_Channel == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Channel.UpdateManyFields(m, MassNeedUpdateFields) + + return err +} + +// ---------------------------- конец CRUD операции ------------------------------------------------------------ diff --git a/bin/notifier_service/pkg/object_model/entities/channel/channel_manual.go b/bin/notifier_service/pkg/object_model/entities/channel/channel_manual.go new file mode 100644 index 0000000..93c9c3a --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/channel/channel_manual.go @@ -0,0 +1,15 @@ +package channel + +// Crud_manual_Channel - объект контроллер crud операций +var Crud_manual_Channel ICrud_manual_Channel + +// интерфейс CRUD операций сделанных вручную, для использования в DB или GRPC или NRPC +type ICrud_manual_Channel interface { +} + +// SetCrudManualInterface - заполняет интерфейс crud: DB, GRPC, NRPC +func (m Channel) SetCrudManualInterface(crud ICrud_manual_Channel) { + Crud_manual_Channel = crud + + return +} diff --git a/bin/notifier_service/pkg/object_model/entities/channel/channel_update.go b/bin/notifier_service/pkg/object_model/entities/channel/channel_update.go new file mode 100644 index 0000000..5cf90a1 --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/channel/channel_update.go @@ -0,0 +1,72 @@ +package channel + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/constants" + ) + + +// Update_Code - изменяет объект в БД по ID, присваивает Code +func (m *Channel) Update_Code() error { + if Crud_Channel == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Channel.Update_Code(m) + + return err +} + +// Update_Description - изменяет объект в БД по ID, присваивает Description +func (m *Channel) Update_Description() error { + if Crud_Channel == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Channel.Update_Description(m) + + return err +} + +// Update_IsActive - изменяет объект в БД по ID, присваивает IsActive +func (m *Channel) Update_IsActive() error { + if Crud_Channel == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Channel.Update_IsActive(m) + + return err +} + +// Update_LatName - изменяет объект в БД по ID, присваивает LatName +func (m *Channel) Update_LatName() error { + if Crud_Channel == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Channel.Update_LatName(m) + + return err +} + +// Update_Name - изменяет объект в БД по ID, присваивает Name +func (m *Channel) Update_Name() error { + if Crud_Channel == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Channel.Update_Name(m) + + return err +} + +// Update_StekCode - изменяет объект в БД по ID, присваивает StekCode +func (m *Channel) Update_StekCode() error { + if Crud_Channel == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Channel.Update_StekCode(m) + + return err +} diff --git a/bin/notifier_service/pkg/object_model/entities/channel_prod/channel_prod.go b/bin/notifier_service/pkg/object_model/entities/channel_prod/channel_prod.go new file mode 100644 index 0000000..251f1b2 --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/channel_prod/channel_prod.go @@ -0,0 +1,10 @@ +package channel_prod + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/tables/table_channel_prod" +) + +// ChannelProd - модель для таблицы channel_prod: +type ChannelProd struct { + table_channel_prod.Table_ChannelProd +} diff --git a/bin/notifier_service/pkg/object_model/entities/channel_prod/channel_prod_crud.go b/bin/notifier_service/pkg/object_model/entities/channel_prod/channel_prod_crud.go new file mode 100644 index 0000000..3559d7e --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/channel_prod/channel_prod_crud.go @@ -0,0 +1,175 @@ +//Файл создан автоматически кодогенератором crud_generator +//Не изменяйте ничего здесь. + +package channel_prod + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/constants" + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/calc_struct_version" + "encoding/json" + "github.com/vmihailenco/msgpack/v5" + "reflect" +) + +// versionChannelProd - версия структуры модели, с учётом имен и типов полей +var versionChannelProd uint32 + +// Crud_ChannelProd - объект контроллер crud операций +var Crud_ChannelProd ICrud_ChannelProd + +// интерфейс стандартных CRUD операций, для использования в DB или GRPC или NRPC +type ICrud_ChannelProd interface { + Read(*ChannelProd) error + Save(*ChannelProd) error + Update(*ChannelProd) error + Create(*ChannelProd) error + ReadFromCache(ID int64) (ChannelProd, error) + UpdateManyFields(*ChannelProd, []string) error + Update_Code(*ChannelProd) error + Update_Description(*ChannelProd) error + Update_IsActive(*ChannelProd) error + Update_Name(*ChannelProd) error +} + +// TableName - возвращает имя таблицы в БД +func (m ChannelProd) TableNameDB() string { + return "channel_prod" +} + +// NewChannelProd - возвращает новый объект +func NewChannelProd() ChannelProd { + return ChannelProd{} +} + +// AsChannelProd - создаёт объект из упакованного объекта в массиве байтов +func AsChannelProd(b []byte) (ChannelProd, error) { + c := NewChannelProd() + err := msgpack.Unmarshal(b, &c) + if err != nil { + return NewChannelProd(), err + } + return c, nil +} + +// ChannelProdAsBytes - упаковывает объект в массив байтов +func ChannelProdAsBytes(m *ChannelProd) ([]byte, error) { + b, err := msgpack.Marshal(m) + if err != nil { + return nil, err + } + return b, nil +} + +// GetStructVersion - возвращает версию модели +func (m ChannelProd) GetStructVersion() uint32 { + if versionChannelProd == 0 { + versionChannelProd = calc_struct_version.CalcStructVersion(reflect.TypeOf(m)) + } + + return versionChannelProd +} + +// GetModelFromJSON - создаёт модель из строки json +func (m *ChannelProd) GetModelFromJSON(sModel string) error { + var err error + + var bytes []byte + bytes = []byte(sModel) + + err = json.Unmarshal(bytes, m) + + return err +} + +// GetJSON - возвращает строку json из модели +func (m ChannelProd) GetJSON() (string, error) { + var ReturnVar string + var err error + + bytes, err := json.Marshal(m) + if err != nil { + return ReturnVar, err + } + ReturnVar = string(bytes) + return ReturnVar, err +} + +// ---------------------------- CRUD операции ------------------------------------------------------------ + +// Read - находит запись в БД по ID, и заполняет в объект +func (m *ChannelProd) Read() error { + if Crud_ChannelProd == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_ChannelProd.Read(m) + + return err +} + +// Save - записывает объект в БД по ID +func (m *ChannelProd) Save() error { + if Crud_ChannelProd == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_ChannelProd.Save(m) + + return err +} + +// Update - обновляет объект в БД по ID +func (m *ChannelProd) Update() error { + if Crud_ChannelProd == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_ChannelProd.Update(m) + + return err +} + +// Create - создаёт объект в БД с новым ID +func (m *ChannelProd) Create() error { + if Crud_ChannelProd == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_ChannelProd.Create(m) + + return err +} + +// ReadFromCache - находит запись в кэше или в БД по ID, и заполняет в объект +func (m *ChannelProd) ReadFromCache(ID int64) (ChannelProd, error) { + Otvet := ChannelProd{} + var err error + + if Crud_ChannelProd == nil { + return Otvet, constants.ErrorCrudIsNotInit + } + + Otvet, err = Crud_ChannelProd.ReadFromCache(ID) + + return Otvet, err +} + +// SetCrudInterface - заполняет интерфейс crud: DB, GRPC, NRPC +func (m ChannelProd) SetCrudInterface(crud ICrud_ChannelProd) { + Crud_ChannelProd = crud + + return +} + +// UpdateManyFields - находит запись в БД по ID, и изменяет только нужные колонки +func (m *ChannelProd) UpdateManyFields(MassNeedUpdateFields []string) error { + if Crud_ChannelProd == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_ChannelProd.UpdateManyFields(m, MassNeedUpdateFields) + + return err +} + +// ---------------------------- конец CRUD операции ------------------------------------------------------------ diff --git a/bin/notifier_service/pkg/object_model/entities/channel_prod/channel_prod_manual.go b/bin/notifier_service/pkg/object_model/entities/channel_prod/channel_prod_manual.go new file mode 100644 index 0000000..44bc889 --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/channel_prod/channel_prod_manual.go @@ -0,0 +1,15 @@ +package channel_prod + +// Crud_manual_ChannelProd - объект контроллер crud операций +var Crud_manual_ChannelProd ICrud_manual_ChannelProd + +// интерфейс CRUD операций сделанных вручную, для использования в DB или GRPC или NRPC +type ICrud_manual_ChannelProd interface { +} + +// SetCrudManualInterface - заполняет интерфейс crud: DB, GRPC, NRPC +func (m ChannelProd) SetCrudManualInterface(crud ICrud_manual_ChannelProd) { + Crud_manual_ChannelProd = crud + + return +} diff --git a/bin/notifier_service/pkg/object_model/entities/channel_prod/channel_prod_update.go b/bin/notifier_service/pkg/object_model/entities/channel_prod/channel_prod_update.go new file mode 100644 index 0000000..f71c563 --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/channel_prod/channel_prod_update.go @@ -0,0 +1,50 @@ +package channel_prod + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/constants" + ) + + +// Update_Code - изменяет объект в БД по ID, присваивает Code +func (m *ChannelProd) Update_Code() error { + if Crud_ChannelProd == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_ChannelProd.Update_Code(m) + + return err +} + +// Update_Description - изменяет объект в БД по ID, присваивает Description +func (m *ChannelProd) Update_Description() error { + if Crud_ChannelProd == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_ChannelProd.Update_Description(m) + + return err +} + +// Update_IsActive - изменяет объект в БД по ID, присваивает IsActive +func (m *ChannelProd) Update_IsActive() error { + if Crud_ChannelProd == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_ChannelProd.Update_IsActive(m) + + return err +} + +// Update_Name - изменяет объект в БД по ID, присваивает Name +func (m *ChannelProd) Update_Name() error { + if Crud_ChannelProd == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_ChannelProd.Update_Name(m) + + return err +} diff --git a/bin/notifier_service/pkg/object_model/entities/copy_delivery_status_code/copy_delivery_status_code.go b/bin/notifier_service/pkg/object_model/entities/copy_delivery_status_code/copy_delivery_status_code.go new file mode 100644 index 0000000..4ea5965 --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/copy_delivery_status_code/copy_delivery_status_code.go @@ -0,0 +1,10 @@ +package copy_delivery_status_code + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/tables/table_copy_delivery_status_code" +) + +// CopyDeliveryStatusCode - модель для таблицы copy_delivery_status_code: +type CopyDeliveryStatusCode struct { + table_copy_delivery_status_code.Table_CopyDeliveryStatusCode +} diff --git a/bin/notifier_service/pkg/object_model/entities/copy_delivery_status_code/copy_delivery_status_code_crud.go b/bin/notifier_service/pkg/object_model/entities/copy_delivery_status_code/copy_delivery_status_code_crud.go new file mode 100644 index 0000000..273774a --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/copy_delivery_status_code/copy_delivery_status_code_crud.go @@ -0,0 +1,172 @@ +//Файл создан автоматически кодогенератором crud_generator +//Не изменяйте ничего здесь. + +package copy_delivery_status_code + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/constants" + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/calc_struct_version" + "encoding/json" + "github.com/vmihailenco/msgpack/v5" + "reflect" +) + +// versionCopyDeliveryStatusCode - версия структуры модели, с учётом имен и типов полей +var versionCopyDeliveryStatusCode uint32 + +// Crud_CopyDeliveryStatusCode - объект контроллер crud операций +var Crud_CopyDeliveryStatusCode ICrud_CopyDeliveryStatusCode + +// интерфейс стандартных CRUD операций, для использования в DB или GRPC или NRPC +type ICrud_CopyDeliveryStatusCode interface { + Read(*CopyDeliveryStatusCode) error + Save(*CopyDeliveryStatusCode) error + Update(*CopyDeliveryStatusCode) error + Create(*CopyDeliveryStatusCode) error + ReadFromCache(ID int64) (CopyDeliveryStatusCode, error) + UpdateManyFields(*CopyDeliveryStatusCode, []string) error + Update_Code(*CopyDeliveryStatusCode) error +} + +// TableName - возвращает имя таблицы в БД +func (m CopyDeliveryStatusCode) TableNameDB() string { + return "copy_delivery_status_code" +} + +// NewCopyDeliveryStatusCode - возвращает новый объект +func NewCopyDeliveryStatusCode() CopyDeliveryStatusCode { + return CopyDeliveryStatusCode{} +} + +// AsCopyDeliveryStatusCode - создаёт объект из упакованного объекта в массиве байтов +func AsCopyDeliveryStatusCode(b []byte) (CopyDeliveryStatusCode, error) { + c := NewCopyDeliveryStatusCode() + err := msgpack.Unmarshal(b, &c) + if err != nil { + return NewCopyDeliveryStatusCode(), err + } + return c, nil +} + +// CopyDeliveryStatusCodeAsBytes - упаковывает объект в массив байтов +func CopyDeliveryStatusCodeAsBytes(m *CopyDeliveryStatusCode) ([]byte, error) { + b, err := msgpack.Marshal(m) + if err != nil { + return nil, err + } + return b, nil +} + +// GetStructVersion - возвращает версию модели +func (m CopyDeliveryStatusCode) GetStructVersion() uint32 { + if versionCopyDeliveryStatusCode == 0 { + versionCopyDeliveryStatusCode = calc_struct_version.CalcStructVersion(reflect.TypeOf(m)) + } + + return versionCopyDeliveryStatusCode +} + +// GetModelFromJSON - создаёт модель из строки json +func (m *CopyDeliveryStatusCode) GetModelFromJSON(sModel string) error { + var err error + + var bytes []byte + bytes = []byte(sModel) + + err = json.Unmarshal(bytes, m) + + return err +} + +// GetJSON - возвращает строку json из модели +func (m CopyDeliveryStatusCode) GetJSON() (string, error) { + var ReturnVar string + var err error + + bytes, err := json.Marshal(m) + if err != nil { + return ReturnVar, err + } + ReturnVar = string(bytes) + return ReturnVar, err +} + +// ---------------------------- CRUD операции ------------------------------------------------------------ + +// Read - находит запись в БД по ID, и заполняет в объект +func (m *CopyDeliveryStatusCode) Read() error { + if Crud_CopyDeliveryStatusCode == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_CopyDeliveryStatusCode.Read(m) + + return err +} + +// Save - записывает объект в БД по ID +func (m *CopyDeliveryStatusCode) Save() error { + if Crud_CopyDeliveryStatusCode == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_CopyDeliveryStatusCode.Save(m) + + return err +} + +// Update - обновляет объект в БД по ID +func (m *CopyDeliveryStatusCode) Update() error { + if Crud_CopyDeliveryStatusCode == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_CopyDeliveryStatusCode.Update(m) + + return err +} + +// Create - создаёт объект в БД с новым ID +func (m *CopyDeliveryStatusCode) Create() error { + if Crud_CopyDeliveryStatusCode == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_CopyDeliveryStatusCode.Create(m) + + return err +} + +// ReadFromCache - находит запись в кэше или в БД по ID, и заполняет в объект +func (m *CopyDeliveryStatusCode) ReadFromCache(ID int64) (CopyDeliveryStatusCode, error) { + Otvet := CopyDeliveryStatusCode{} + var err error + + if Crud_CopyDeliveryStatusCode == nil { + return Otvet, constants.ErrorCrudIsNotInit + } + + Otvet, err = Crud_CopyDeliveryStatusCode.ReadFromCache(ID) + + return Otvet, err +} + +// SetCrudInterface - заполняет интерфейс crud: DB, GRPC, NRPC +func (m CopyDeliveryStatusCode) SetCrudInterface(crud ICrud_CopyDeliveryStatusCode) { + Crud_CopyDeliveryStatusCode = crud + + return +} + +// UpdateManyFields - находит запись в БД по ID, и изменяет только нужные колонки +func (m *CopyDeliveryStatusCode) UpdateManyFields(MassNeedUpdateFields []string) error { + if Crud_CopyDeliveryStatusCode == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_CopyDeliveryStatusCode.UpdateManyFields(m, MassNeedUpdateFields) + + return err +} + +// ---------------------------- конец CRUD операции ------------------------------------------------------------ diff --git a/bin/notifier_service/pkg/object_model/entities/copy_delivery_status_code/copy_delivery_status_code_manual.go b/bin/notifier_service/pkg/object_model/entities/copy_delivery_status_code/copy_delivery_status_code_manual.go new file mode 100644 index 0000000..085b09f --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/copy_delivery_status_code/copy_delivery_status_code_manual.go @@ -0,0 +1,15 @@ +package copy_delivery_status_code + +// Crud_manual_CopyDeliveryStatusCode - объект контроллер crud операций +var Crud_manual_CopyDeliveryStatusCode ICrud_manual_CopyDeliveryStatusCode + +// интерфейс CRUD операций сделанных вручную, для использования в DB или GRPC или NRPC +type ICrud_manual_CopyDeliveryStatusCode interface { +} + +// SetCrudManualInterface - заполняет интерфейс crud: DB, GRPC, NRPC +func (m CopyDeliveryStatusCode) SetCrudManualInterface(crud ICrud_manual_CopyDeliveryStatusCode) { + Crud_manual_CopyDeliveryStatusCode = crud + + return +} diff --git a/bin/notifier_service/pkg/object_model/entities/copy_delivery_status_code/copy_delivery_status_code_update.go b/bin/notifier_service/pkg/object_model/entities/copy_delivery_status_code/copy_delivery_status_code_update.go new file mode 100644 index 0000000..f26e907 --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/copy_delivery_status_code/copy_delivery_status_code_update.go @@ -0,0 +1,17 @@ +package copy_delivery_status_code + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/constants" + ) + + +// Update_Code - изменяет объект в БД по ID, присваивает Code +func (m *CopyDeliveryStatusCode) Update_Code() error { + if Crud_CopyDeliveryStatusCode == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_CopyDeliveryStatusCode.Update_Code(m) + + return err +} diff --git a/bin/notifier_service/pkg/object_model/entities/debt_list/debt_list.go b/bin/notifier_service/pkg/object_model/entities/debt_list/debt_list.go new file mode 100644 index 0000000..c25f1e6 --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/debt_list/debt_list.go @@ -0,0 +1,10 @@ +package debt_list + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/tables/table_debt_list" +) + +// DebtList - модель для таблицы debt_list: +type DebtList struct { + table_debt_list.Table_DebtList +} diff --git a/bin/notifier_service/pkg/object_model/entities/debt_list/debt_list_crud.go b/bin/notifier_service/pkg/object_model/entities/debt_list/debt_list_crud.go new file mode 100644 index 0000000..9f02deb --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/debt_list/debt_list_crud.go @@ -0,0 +1,185 @@ +//Файл создан автоматически кодогенератором crud_generator +//Не изменяйте ничего здесь. + +package debt_list + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/constants" + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/calc_struct_version" + "encoding/json" + "github.com/vmihailenco/msgpack/v5" + "reflect" +) + +// versionDebtList - версия структуры модели, с учётом имен и типов полей +var versionDebtList uint32 + +// Crud_DebtList - объект контроллер crud операций +var Crud_DebtList ICrud_DebtList + +// интерфейс стандартных CRUD операций, для использования в DB или GRPC или NRPC +type ICrud_DebtList interface { + Read(*DebtList) error + Save(*DebtList) error + Update(*DebtList) error + Create(*DebtList) error + ReadFromCache(ID int64) (DebtList, error) + UpdateManyFields(*DebtList, []string) error + Update_Accrual(*DebtList) error + Update_ChannelCode(*DebtList) error + Update_Deb(*DebtList) error + Update_Email(*DebtList) error + Update_Fio(*DebtList) error + Update_Flat(*DebtList) error + Update_House(*DebtList) error + Update_KcTel(*DebtList) error + Update_Locality(*DebtList) error + Update_PersAcc(*DebtList) error + Update_Plot(*DebtList) error + Update_Region(*DebtList) error + Update_Street(*DebtList) error + Update_Tel(*DebtList) error +} + +// TableName - возвращает имя таблицы в БД +func (m DebtList) TableNameDB() string { + return "debt_list" +} + +// NewDebtList - возвращает новый объект +func NewDebtList() DebtList { + return DebtList{} +} + +// AsDebtList - создаёт объект из упакованного объекта в массиве байтов +func AsDebtList(b []byte) (DebtList, error) { + c := NewDebtList() + err := msgpack.Unmarshal(b, &c) + if err != nil { + return NewDebtList(), err + } + return c, nil +} + +// DebtListAsBytes - упаковывает объект в массив байтов +func DebtListAsBytes(m *DebtList) ([]byte, error) { + b, err := msgpack.Marshal(m) + if err != nil { + return nil, err + } + return b, nil +} + +// GetStructVersion - возвращает версию модели +func (m DebtList) GetStructVersion() uint32 { + if versionDebtList == 0 { + versionDebtList = calc_struct_version.CalcStructVersion(reflect.TypeOf(m)) + } + + return versionDebtList +} + +// GetModelFromJSON - создаёт модель из строки json +func (m *DebtList) GetModelFromJSON(sModel string) error { + var err error + + var bytes []byte + bytes = []byte(sModel) + + err = json.Unmarshal(bytes, m) + + return err +} + +// GetJSON - возвращает строку json из модели +func (m DebtList) GetJSON() (string, error) { + var ReturnVar string + var err error + + bytes, err := json.Marshal(m) + if err != nil { + return ReturnVar, err + } + ReturnVar = string(bytes) + return ReturnVar, err +} + +// ---------------------------- CRUD операции ------------------------------------------------------------ + +// Read - находит запись в БД по ID, и заполняет в объект +func (m *DebtList) Read() error { + if Crud_DebtList == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_DebtList.Read(m) + + return err +} + +// Save - записывает объект в БД по ID +func (m *DebtList) Save() error { + if Crud_DebtList == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_DebtList.Save(m) + + return err +} + +// Update - обновляет объект в БД по ID +func (m *DebtList) Update() error { + if Crud_DebtList == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_DebtList.Update(m) + + return err +} + +// Create - создаёт объект в БД с новым ID +func (m *DebtList) Create() error { + if Crud_DebtList == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_DebtList.Create(m) + + return err +} + +// ReadFromCache - находит запись в кэше или в БД по ID, и заполняет в объект +func (m *DebtList) ReadFromCache(ID int64) (DebtList, error) { + Otvet := DebtList{} + var err error + + if Crud_DebtList == nil { + return Otvet, constants.ErrorCrudIsNotInit + } + + Otvet, err = Crud_DebtList.ReadFromCache(ID) + + return Otvet, err +} + +// SetCrudInterface - заполняет интерфейс crud: DB, GRPC, NRPC +func (m DebtList) SetCrudInterface(crud ICrud_DebtList) { + Crud_DebtList = crud + + return +} + +// UpdateManyFields - находит запись в БД по ID, и изменяет только нужные колонки +func (m *DebtList) UpdateManyFields(MassNeedUpdateFields []string) error { + if Crud_DebtList == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_DebtList.UpdateManyFields(m, MassNeedUpdateFields) + + return err +} + +// ---------------------------- конец CRUD операции ------------------------------------------------------------ diff --git a/bin/notifier_service/pkg/object_model/entities/debt_list/debt_list_manual.go b/bin/notifier_service/pkg/object_model/entities/debt_list/debt_list_manual.go new file mode 100644 index 0000000..f35f335 --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/debt_list/debt_list_manual.go @@ -0,0 +1,15 @@ +package debt_list + +// Crud_manual_DebtList - объект контроллер crud операций +var Crud_manual_DebtList ICrud_manual_DebtList + +// интерфейс CRUD операций сделанных вручную, для использования в DB или GRPC или NRPC +type ICrud_manual_DebtList interface { +} + +// SetCrudManualInterface - заполняет интерфейс crud: DB, GRPC, NRPC +func (m DebtList) SetCrudManualInterface(crud ICrud_manual_DebtList) { + Crud_manual_DebtList = crud + + return +} diff --git a/bin/notifier_service/pkg/object_model/entities/debt_list/debt_list_update.go b/bin/notifier_service/pkg/object_model/entities/debt_list/debt_list_update.go new file mode 100644 index 0000000..95e3898 --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/debt_list/debt_list_update.go @@ -0,0 +1,160 @@ +package debt_list + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/constants" + ) + + +// Update_Accrual - изменяет объект в БД по ID, присваивает Accrual +func (m *DebtList) Update_Accrual() error { + if Crud_DebtList == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_DebtList.Update_Accrual(m) + + return err +} + +// Update_ChannelCode - изменяет объект в БД по ID, присваивает ChannelCode +func (m *DebtList) Update_ChannelCode() error { + if Crud_DebtList == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_DebtList.Update_ChannelCode(m) + + return err +} + +// Update_Deb - изменяет объект в БД по ID, присваивает Deb +func (m *DebtList) Update_Deb() error { + if Crud_DebtList == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_DebtList.Update_Deb(m) + + return err +} + +// Update_Email - изменяет объект в БД по ID, присваивает Email +func (m *DebtList) Update_Email() error { + if Crud_DebtList == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_DebtList.Update_Email(m) + + return err +} + +// Update_Fio - изменяет объект в БД по ID, присваивает Fio +func (m *DebtList) Update_Fio() error { + if Crud_DebtList == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_DebtList.Update_Fio(m) + + return err +} + +// Update_Flat - изменяет объект в БД по ID, присваивает Flat +func (m *DebtList) Update_Flat() error { + if Crud_DebtList == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_DebtList.Update_Flat(m) + + return err +} + +// Update_House - изменяет объект в БД по ID, присваивает House +func (m *DebtList) Update_House() error { + if Crud_DebtList == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_DebtList.Update_House(m) + + return err +} + +// Update_KcTel - изменяет объект в БД по ID, присваивает KcTel +func (m *DebtList) Update_KcTel() error { + if Crud_DebtList == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_DebtList.Update_KcTel(m) + + return err +} + +// Update_Locality - изменяет объект в БД по ID, присваивает Locality +func (m *DebtList) Update_Locality() error { + if Crud_DebtList == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_DebtList.Update_Locality(m) + + return err +} + +// Update_PersAcc - изменяет объект в БД по ID, присваивает PersAcc +func (m *DebtList) Update_PersAcc() error { + if Crud_DebtList == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_DebtList.Update_PersAcc(m) + + return err +} + +// Update_Plot - изменяет объект в БД по ID, присваивает Plot +func (m *DebtList) Update_Plot() error { + if Crud_DebtList == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_DebtList.Update_Plot(m) + + return err +} + +// Update_Region - изменяет объект в БД по ID, присваивает Region +func (m *DebtList) Update_Region() error { + if Crud_DebtList == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_DebtList.Update_Region(m) + + return err +} + +// Update_Street - изменяет объект в БД по ID, присваивает Street +func (m *DebtList) Update_Street() error { + if Crud_DebtList == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_DebtList.Update_Street(m) + + return err +} + +// Update_Tel - изменяет объект в БД по ID, присваивает Tel +func (m *DebtList) Update_Tel() error { + if Crud_DebtList == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_DebtList.Update_Tel(m) + + return err +} diff --git a/bin/notifier_service/pkg/object_model/entities/debt_list2/debt_list2.go b/bin/notifier_service/pkg/object_model/entities/debt_list2/debt_list2.go new file mode 100644 index 0000000..3e0e0a4 --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/debt_list2/debt_list2.go @@ -0,0 +1,10 @@ +package debt_list2 + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/tables/table_debt_list2" +) + +// DebtList2 - модель для таблицы debt_list2: +type DebtList2 struct { + table_debt_list2.Table_DebtList2 +} diff --git a/bin/notifier_service/pkg/object_model/entities/debt_list2/debt_list2_crud.go b/bin/notifier_service/pkg/object_model/entities/debt_list2/debt_list2_crud.go new file mode 100644 index 0000000..d10ea2e --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/debt_list2/debt_list2_crud.go @@ -0,0 +1,185 @@ +//Файл создан автоматически кодогенератором crud_generator +//Не изменяйте ничего здесь. + +package debt_list2 + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/constants" + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/calc_struct_version" + "encoding/json" + "github.com/vmihailenco/msgpack/v5" + "reflect" +) + +// versionDebtList2 - версия структуры модели, с учётом имен и типов полей +var versionDebtList2 uint32 + +// Crud_DebtList2 - объект контроллер crud операций +var Crud_DebtList2 ICrud_DebtList2 + +// интерфейс стандартных CRUD операций, для использования в DB или GRPC или NRPC +type ICrud_DebtList2 interface { + Read(*DebtList2) error + Save(*DebtList2) error + Update(*DebtList2) error + Create(*DebtList2) error + ReadFromCache(ID int64) (DebtList2, error) + UpdateManyFields(*DebtList2, []string) error + Update_Accrual(*DebtList2) error + Update_ChannelCode(*DebtList2) error + Update_Deb(*DebtList2) error + Update_Email(*DebtList2) error + Update_Fio(*DebtList2) error + Update_Flat(*DebtList2) error + Update_House(*DebtList2) error + Update_KcTel(*DebtList2) error + Update_Locality(*DebtList2) error + Update_PersAcc(*DebtList2) error + Update_Plot(*DebtList2) error + Update_Region(*DebtList2) error + Update_Street(*DebtList2) error + Update_Tel(*DebtList2) error +} + +// TableName - возвращает имя таблицы в БД +func (m DebtList2) TableNameDB() string { + return "debt_list2" +} + +// NewDebtList2 - возвращает новый объект +func NewDebtList2() DebtList2 { + return DebtList2{} +} + +// AsDebtList2 - создаёт объект из упакованного объекта в массиве байтов +func AsDebtList2(b []byte) (DebtList2, error) { + c := NewDebtList2() + err := msgpack.Unmarshal(b, &c) + if err != nil { + return NewDebtList2(), err + } + return c, nil +} + +// DebtList2AsBytes - упаковывает объект в массив байтов +func DebtList2AsBytes(m *DebtList2) ([]byte, error) { + b, err := msgpack.Marshal(m) + if err != nil { + return nil, err + } + return b, nil +} + +// GetStructVersion - возвращает версию модели +func (m DebtList2) GetStructVersion() uint32 { + if versionDebtList2 == 0 { + versionDebtList2 = calc_struct_version.CalcStructVersion(reflect.TypeOf(m)) + } + + return versionDebtList2 +} + +// GetModelFromJSON - создаёт модель из строки json +func (m *DebtList2) GetModelFromJSON(sModel string) error { + var err error + + var bytes []byte + bytes = []byte(sModel) + + err = json.Unmarshal(bytes, m) + + return err +} + +// GetJSON - возвращает строку json из модели +func (m DebtList2) GetJSON() (string, error) { + var ReturnVar string + var err error + + bytes, err := json.Marshal(m) + if err != nil { + return ReturnVar, err + } + ReturnVar = string(bytes) + return ReturnVar, err +} + +// ---------------------------- CRUD операции ------------------------------------------------------------ + +// Read - находит запись в БД по ID, и заполняет в объект +func (m *DebtList2) Read() error { + if Crud_DebtList2 == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_DebtList2.Read(m) + + return err +} + +// Save - записывает объект в БД по ID +func (m *DebtList2) Save() error { + if Crud_DebtList2 == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_DebtList2.Save(m) + + return err +} + +// Update - обновляет объект в БД по ID +func (m *DebtList2) Update() error { + if Crud_DebtList2 == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_DebtList2.Update(m) + + return err +} + +// Create - создаёт объект в БД с новым ID +func (m *DebtList2) Create() error { + if Crud_DebtList2 == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_DebtList2.Create(m) + + return err +} + +// ReadFromCache - находит запись в кэше или в БД по ID, и заполняет в объект +func (m *DebtList2) ReadFromCache(ID int64) (DebtList2, error) { + Otvet := DebtList2{} + var err error + + if Crud_DebtList2 == nil { + return Otvet, constants.ErrorCrudIsNotInit + } + + Otvet, err = Crud_DebtList2.ReadFromCache(ID) + + return Otvet, err +} + +// SetCrudInterface - заполняет интерфейс crud: DB, GRPC, NRPC +func (m DebtList2) SetCrudInterface(crud ICrud_DebtList2) { + Crud_DebtList2 = crud + + return +} + +// UpdateManyFields - находит запись в БД по ID, и изменяет только нужные колонки +func (m *DebtList2) UpdateManyFields(MassNeedUpdateFields []string) error { + if Crud_DebtList2 == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_DebtList2.UpdateManyFields(m, MassNeedUpdateFields) + + return err +} + +// ---------------------------- конец CRUD операции ------------------------------------------------------------ diff --git a/bin/notifier_service/pkg/object_model/entities/debt_list2/debt_list2_manual.go b/bin/notifier_service/pkg/object_model/entities/debt_list2/debt_list2_manual.go new file mode 100644 index 0000000..4f8263d --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/debt_list2/debt_list2_manual.go @@ -0,0 +1,15 @@ +package debt_list2 + +// Crud_manual_DebtList2 - объект контроллер crud операций +var Crud_manual_DebtList2 ICrud_manual_DebtList2 + +// интерфейс CRUD операций сделанных вручную, для использования в DB или GRPC или NRPC +type ICrud_manual_DebtList2 interface { +} + +// SetCrudManualInterface - заполняет интерфейс crud: DB, GRPC, NRPC +func (m DebtList2) SetCrudManualInterface(crud ICrud_manual_DebtList2) { + Crud_manual_DebtList2 = crud + + return +} diff --git a/bin/notifier_service/pkg/object_model/entities/debt_list2/debt_list2_update.go b/bin/notifier_service/pkg/object_model/entities/debt_list2/debt_list2_update.go new file mode 100644 index 0000000..febcc17 --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/debt_list2/debt_list2_update.go @@ -0,0 +1,160 @@ +package debt_list2 + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/constants" + ) + + +// Update_Accrual - изменяет объект в БД по ID, присваивает Accrual +func (m *DebtList2) Update_Accrual() error { + if Crud_DebtList2 == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_DebtList2.Update_Accrual(m) + + return err +} + +// Update_ChannelCode - изменяет объект в БД по ID, присваивает ChannelCode +func (m *DebtList2) Update_ChannelCode() error { + if Crud_DebtList2 == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_DebtList2.Update_ChannelCode(m) + + return err +} + +// Update_Deb - изменяет объект в БД по ID, присваивает Deb +func (m *DebtList2) Update_Deb() error { + if Crud_DebtList2 == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_DebtList2.Update_Deb(m) + + return err +} + +// Update_Email - изменяет объект в БД по ID, присваивает Email +func (m *DebtList2) Update_Email() error { + if Crud_DebtList2 == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_DebtList2.Update_Email(m) + + return err +} + +// Update_Fio - изменяет объект в БД по ID, присваивает Fio +func (m *DebtList2) Update_Fio() error { + if Crud_DebtList2 == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_DebtList2.Update_Fio(m) + + return err +} + +// Update_Flat - изменяет объект в БД по ID, присваивает Flat +func (m *DebtList2) Update_Flat() error { + if Crud_DebtList2 == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_DebtList2.Update_Flat(m) + + return err +} + +// Update_House - изменяет объект в БД по ID, присваивает House +func (m *DebtList2) Update_House() error { + if Crud_DebtList2 == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_DebtList2.Update_House(m) + + return err +} + +// Update_KcTel - изменяет объект в БД по ID, присваивает KcTel +func (m *DebtList2) Update_KcTel() error { + if Crud_DebtList2 == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_DebtList2.Update_KcTel(m) + + return err +} + +// Update_Locality - изменяет объект в БД по ID, присваивает Locality +func (m *DebtList2) Update_Locality() error { + if Crud_DebtList2 == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_DebtList2.Update_Locality(m) + + return err +} + +// Update_PersAcc - изменяет объект в БД по ID, присваивает PersAcc +func (m *DebtList2) Update_PersAcc() error { + if Crud_DebtList2 == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_DebtList2.Update_PersAcc(m) + + return err +} + +// Update_Plot - изменяет объект в БД по ID, присваивает Plot +func (m *DebtList2) Update_Plot() error { + if Crud_DebtList2 == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_DebtList2.Update_Plot(m) + + return err +} + +// Update_Region - изменяет объект в БД по ID, присваивает Region +func (m *DebtList2) Update_Region() error { + if Crud_DebtList2 == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_DebtList2.Update_Region(m) + + return err +} + +// Update_Street - изменяет объект в БД по ID, присваивает Street +func (m *DebtList2) Update_Street() error { + if Crud_DebtList2 == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_DebtList2.Update_Street(m) + + return err +} + +// Update_Tel - изменяет объект в БД по ID, присваивает Tel +func (m *DebtList2) Update_Tel() error { + if Crud_DebtList2 == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_DebtList2.Update_Tel(m) + + return err +} diff --git a/bin/notifier_service/pkg/object_model/entities/delivery_error/delivery_error.go b/bin/notifier_service/pkg/object_model/entities/delivery_error/delivery_error.go new file mode 100644 index 0000000..f4c9661 --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/delivery_error/delivery_error.go @@ -0,0 +1,10 @@ +package delivery_error + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/tables/table_delivery_error" +) + +// DeliveryError - модель для таблицы delivery_error: Таблица маппинга автоответов серверов и кодов ошибок НСИ +type DeliveryError struct { + table_delivery_error.Table_DeliveryError +} diff --git a/bin/notifier_service/pkg/object_model/entities/delivery_error/delivery_error_crud.go b/bin/notifier_service/pkg/object_model/entities/delivery_error/delivery_error_crud.go new file mode 100644 index 0000000..56d8f40 --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/delivery_error/delivery_error_crud.go @@ -0,0 +1,175 @@ +//Файл создан автоматически кодогенератором crud_generator +//Не изменяйте ничего здесь. + +package delivery_error + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/constants" + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/calc_struct_version" + "encoding/json" + "github.com/vmihailenco/msgpack/v5" + "reflect" +) + +// versionDeliveryError - версия структуры модели, с учётом имен и типов полей +var versionDeliveryError uint32 + +// Crud_DeliveryError - объект контроллер crud операций +var Crud_DeliveryError ICrud_DeliveryError + +// интерфейс стандартных CRUD операций, для использования в DB или GRPC или NRPC +type ICrud_DeliveryError interface { + Read(*DeliveryError) error + Save(*DeliveryError) error + Update(*DeliveryError) error + Create(*DeliveryError) error + ReadFromCache(ID int64) (DeliveryError, error) + UpdateManyFields(*DeliveryError, []string) error + Update_DeliveryStatusID(*DeliveryError) error + Update_IsActive(*DeliveryError) error + Update_TextError(*DeliveryError) error + Update_UpdatedAt(*DeliveryError) error +} + +// TableName - возвращает имя таблицы в БД +func (m DeliveryError) TableNameDB() string { + return "delivery_error" +} + +// NewDeliveryError - возвращает новый объект +func NewDeliveryError() DeliveryError { + return DeliveryError{} +} + +// AsDeliveryError - создаёт объект из упакованного объекта в массиве байтов +func AsDeliveryError(b []byte) (DeliveryError, error) { + c := NewDeliveryError() + err := msgpack.Unmarshal(b, &c) + if err != nil { + return NewDeliveryError(), err + } + return c, nil +} + +// DeliveryErrorAsBytes - упаковывает объект в массив байтов +func DeliveryErrorAsBytes(m *DeliveryError) ([]byte, error) { + b, err := msgpack.Marshal(m) + if err != nil { + return nil, err + } + return b, nil +} + +// GetStructVersion - возвращает версию модели +func (m DeliveryError) GetStructVersion() uint32 { + if versionDeliveryError == 0 { + versionDeliveryError = calc_struct_version.CalcStructVersion(reflect.TypeOf(m)) + } + + return versionDeliveryError +} + +// GetModelFromJSON - создаёт модель из строки json +func (m *DeliveryError) GetModelFromJSON(sModel string) error { + var err error + + var bytes []byte + bytes = []byte(sModel) + + err = json.Unmarshal(bytes, m) + + return err +} + +// GetJSON - возвращает строку json из модели +func (m DeliveryError) GetJSON() (string, error) { + var ReturnVar string + var err error + + bytes, err := json.Marshal(m) + if err != nil { + return ReturnVar, err + } + ReturnVar = string(bytes) + return ReturnVar, err +} + +// ---------------------------- CRUD операции ------------------------------------------------------------ + +// Read - находит запись в БД по ID, и заполняет в объект +func (m *DeliveryError) Read() error { + if Crud_DeliveryError == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_DeliveryError.Read(m) + + return err +} + +// Save - записывает объект в БД по ID +func (m *DeliveryError) Save() error { + if Crud_DeliveryError == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_DeliveryError.Save(m) + + return err +} + +// Update - обновляет объект в БД по ID +func (m *DeliveryError) Update() error { + if Crud_DeliveryError == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_DeliveryError.Update(m) + + return err +} + +// Create - создаёт объект в БД с новым ID +func (m *DeliveryError) Create() error { + if Crud_DeliveryError == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_DeliveryError.Create(m) + + return err +} + +// ReadFromCache - находит запись в кэше или в БД по ID, и заполняет в объект +func (m *DeliveryError) ReadFromCache(ID int64) (DeliveryError, error) { + Otvet := DeliveryError{} + var err error + + if Crud_DeliveryError == nil { + return Otvet, constants.ErrorCrudIsNotInit + } + + Otvet, err = Crud_DeliveryError.ReadFromCache(ID) + + return Otvet, err +} + +// SetCrudInterface - заполняет интерфейс crud: DB, GRPC, NRPC +func (m DeliveryError) SetCrudInterface(crud ICrud_DeliveryError) { + Crud_DeliveryError = crud + + return +} + +// UpdateManyFields - находит запись в БД по ID, и изменяет только нужные колонки +func (m *DeliveryError) UpdateManyFields(MassNeedUpdateFields []string) error { + if Crud_DeliveryError == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_DeliveryError.UpdateManyFields(m, MassNeedUpdateFields) + + return err +} + +// ---------------------------- конец CRUD операции ------------------------------------------------------------ diff --git a/bin/notifier_service/pkg/object_model/entities/delivery_error/delivery_error_manual.go b/bin/notifier_service/pkg/object_model/entities/delivery_error/delivery_error_manual.go new file mode 100644 index 0000000..e73d457 --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/delivery_error/delivery_error_manual.go @@ -0,0 +1,15 @@ +package delivery_error + +// Crud_manual_DeliveryError - объект контроллер crud операций +var Crud_manual_DeliveryError ICrud_manual_DeliveryError + +// интерфейс CRUD операций сделанных вручную, для использования в DB или GRPC или NRPC +type ICrud_manual_DeliveryError interface { +} + +// SetCrudManualInterface - заполняет интерфейс crud: DB, GRPC, NRPC +func (m DeliveryError) SetCrudManualInterface(crud ICrud_manual_DeliveryError) { + Crud_manual_DeliveryError = crud + + return +} diff --git a/bin/notifier_service/pkg/object_model/entities/delivery_error/delivery_error_update.go b/bin/notifier_service/pkg/object_model/entities/delivery_error/delivery_error_update.go new file mode 100644 index 0000000..8ea69cb --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/delivery_error/delivery_error_update.go @@ -0,0 +1,50 @@ +package delivery_error + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/constants" + ) + + +// Update_DeliveryStatusID - изменяет объект в БД по ID, присваивает DeliveryStatusID +func (m *DeliveryError) Update_DeliveryStatusID() error { + if Crud_DeliveryError == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_DeliveryError.Update_DeliveryStatusID(m) + + return err +} + +// Update_IsActive - изменяет объект в БД по ID, присваивает IsActive +func (m *DeliveryError) Update_IsActive() error { + if Crud_DeliveryError == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_DeliveryError.Update_IsActive(m) + + return err +} + +// Update_TextError - изменяет объект в БД по ID, присваивает TextError +func (m *DeliveryError) Update_TextError() error { + if Crud_DeliveryError == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_DeliveryError.Update_TextError(m) + + return err +} + +// Update_UpdatedAt - изменяет объект в БД по ID, присваивает UpdatedAt +func (m *DeliveryError) Update_UpdatedAt() error { + if Crud_DeliveryError == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_DeliveryError.Update_UpdatedAt(m) + + return err +} diff --git a/bin/notifier_service/pkg/object_model/entities/delivery_status/delivery_status.go b/bin/notifier_service/pkg/object_model/entities/delivery_status/delivery_status.go new file mode 100644 index 0000000..abcab7a --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/delivery_status/delivery_status.go @@ -0,0 +1,10 @@ +package delivery_status + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/tables/table_delivery_status" +) + +// DeliveryStatus - модель для таблицы delivery_status: Справочник статусов доставки из НСИ +type DeliveryStatus struct { + table_delivery_status.Table_DeliveryStatus +} diff --git a/bin/notifier_service/pkg/object_model/entities/delivery_status/delivery_status_crud.go b/bin/notifier_service/pkg/object_model/entities/delivery_status/delivery_status_crud.go new file mode 100644 index 0000000..8175cb7 --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/delivery_status/delivery_status_crud.go @@ -0,0 +1,177 @@ +//Файл создан автоматически кодогенератором crud_generator +//Не изменяйте ничего здесь. + +package delivery_status + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/constants" + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/calc_struct_version" + "encoding/json" + "github.com/vmihailenco/msgpack/v5" + "reflect" +) + +// versionDeliveryStatus - версия структуры модели, с учётом имен и типов полей +var versionDeliveryStatus uint32 + +// Crud_DeliveryStatus - объект контроллер crud операций +var Crud_DeliveryStatus ICrud_DeliveryStatus + +// интерфейс стандартных CRUD операций, для использования в DB или GRPC или NRPC +type ICrud_DeliveryStatus interface { + Read(*DeliveryStatus) error + Save(*DeliveryStatus) error + Update(*DeliveryStatus) error + Create(*DeliveryStatus) error + ReadFromCache(ID int64) (DeliveryStatus, error) + UpdateManyFields(*DeliveryStatus, []string) error + Update_Code(*DeliveryStatus) error + Update_Description(*DeliveryStatus) error + Update_FormalName(*DeliveryStatus) error + Update_IsActive(*DeliveryStatus) error + Update_Name(*DeliveryStatus) error + Update_Note(*DeliveryStatus) error +} + +// TableName - возвращает имя таблицы в БД +func (m DeliveryStatus) TableNameDB() string { + return "delivery_status" +} + +// NewDeliveryStatus - возвращает новый объект +func NewDeliveryStatus() DeliveryStatus { + return DeliveryStatus{} +} + +// AsDeliveryStatus - создаёт объект из упакованного объекта в массиве байтов +func AsDeliveryStatus(b []byte) (DeliveryStatus, error) { + c := NewDeliveryStatus() + err := msgpack.Unmarshal(b, &c) + if err != nil { + return NewDeliveryStatus(), err + } + return c, nil +} + +// DeliveryStatusAsBytes - упаковывает объект в массив байтов +func DeliveryStatusAsBytes(m *DeliveryStatus) ([]byte, error) { + b, err := msgpack.Marshal(m) + if err != nil { + return nil, err + } + return b, nil +} + +// GetStructVersion - возвращает версию модели +func (m DeliveryStatus) GetStructVersion() uint32 { + if versionDeliveryStatus == 0 { + versionDeliveryStatus = calc_struct_version.CalcStructVersion(reflect.TypeOf(m)) + } + + return versionDeliveryStatus +} + +// GetModelFromJSON - создаёт модель из строки json +func (m *DeliveryStatus) GetModelFromJSON(sModel string) error { + var err error + + var bytes []byte + bytes = []byte(sModel) + + err = json.Unmarshal(bytes, m) + + return err +} + +// GetJSON - возвращает строку json из модели +func (m DeliveryStatus) GetJSON() (string, error) { + var ReturnVar string + var err error + + bytes, err := json.Marshal(m) + if err != nil { + return ReturnVar, err + } + ReturnVar = string(bytes) + return ReturnVar, err +} + +// ---------------------------- CRUD операции ------------------------------------------------------------ + +// Read - находит запись в БД по ID, и заполняет в объект +func (m *DeliveryStatus) Read() error { + if Crud_DeliveryStatus == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_DeliveryStatus.Read(m) + + return err +} + +// Save - записывает объект в БД по ID +func (m *DeliveryStatus) Save() error { + if Crud_DeliveryStatus == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_DeliveryStatus.Save(m) + + return err +} + +// Update - обновляет объект в БД по ID +func (m *DeliveryStatus) Update() error { + if Crud_DeliveryStatus == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_DeliveryStatus.Update(m) + + return err +} + +// Create - создаёт объект в БД с новым ID +func (m *DeliveryStatus) Create() error { + if Crud_DeliveryStatus == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_DeliveryStatus.Create(m) + + return err +} + +// ReadFromCache - находит запись в кэше или в БД по ID, и заполняет в объект +func (m *DeliveryStatus) ReadFromCache(ID int64) (DeliveryStatus, error) { + Otvet := DeliveryStatus{} + var err error + + if Crud_DeliveryStatus == nil { + return Otvet, constants.ErrorCrudIsNotInit + } + + Otvet, err = Crud_DeliveryStatus.ReadFromCache(ID) + + return Otvet, err +} + +// SetCrudInterface - заполняет интерфейс crud: DB, GRPC, NRPC +func (m DeliveryStatus) SetCrudInterface(crud ICrud_DeliveryStatus) { + Crud_DeliveryStatus = crud + + return +} + +// UpdateManyFields - находит запись в БД по ID, и изменяет только нужные колонки +func (m *DeliveryStatus) UpdateManyFields(MassNeedUpdateFields []string) error { + if Crud_DeliveryStatus == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_DeliveryStatus.UpdateManyFields(m, MassNeedUpdateFields) + + return err +} + +// ---------------------------- конец CRUD операции ------------------------------------------------------------ diff --git a/bin/notifier_service/pkg/object_model/entities/delivery_status/delivery_status_manual.go b/bin/notifier_service/pkg/object_model/entities/delivery_status/delivery_status_manual.go new file mode 100644 index 0000000..8596cb2 --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/delivery_status/delivery_status_manual.go @@ -0,0 +1,15 @@ +package delivery_status + +// Crud_manual_DeliveryStatus - объект контроллер crud операций +var Crud_manual_DeliveryStatus ICrud_manual_DeliveryStatus + +// интерфейс CRUD операций сделанных вручную, для использования в DB или GRPC или NRPC +type ICrud_manual_DeliveryStatus interface { +} + +// SetCrudManualInterface - заполняет интерфейс crud: DB, GRPC, NRPC +func (m DeliveryStatus) SetCrudManualInterface(crud ICrud_manual_DeliveryStatus) { + Crud_manual_DeliveryStatus = crud + + return +} diff --git a/bin/notifier_service/pkg/object_model/entities/delivery_status/delivery_status_update.go b/bin/notifier_service/pkg/object_model/entities/delivery_status/delivery_status_update.go new file mode 100644 index 0000000..5131e8b --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/delivery_status/delivery_status_update.go @@ -0,0 +1,72 @@ +package delivery_status + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/constants" + ) + + +// Update_Code - изменяет объект в БД по ID, присваивает Code +func (m *DeliveryStatus) Update_Code() error { + if Crud_DeliveryStatus == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_DeliveryStatus.Update_Code(m) + + return err +} + +// Update_Description - изменяет объект в БД по ID, присваивает Description +func (m *DeliveryStatus) Update_Description() error { + if Crud_DeliveryStatus == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_DeliveryStatus.Update_Description(m) + + return err +} + +// Update_FormalName - изменяет объект в БД по ID, присваивает FormalName +func (m *DeliveryStatus) Update_FormalName() error { + if Crud_DeliveryStatus == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_DeliveryStatus.Update_FormalName(m) + + return err +} + +// Update_IsActive - изменяет объект в БД по ID, присваивает IsActive +func (m *DeliveryStatus) Update_IsActive() error { + if Crud_DeliveryStatus == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_DeliveryStatus.Update_IsActive(m) + + return err +} + +// Update_Name - изменяет объект в БД по ID, присваивает Name +func (m *DeliveryStatus) Update_Name() error { + if Crud_DeliveryStatus == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_DeliveryStatus.Update_Name(m) + + return err +} + +// Update_Note - изменяет объект в БД по ID, присваивает Note +func (m *DeliveryStatus) Update_Note() error { + if Crud_DeliveryStatus == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_DeliveryStatus.Update_Note(m) + + return err +} diff --git a/bin/notifier_service/pkg/object_model/entities/district/district.go b/bin/notifier_service/pkg/object_model/entities/district/district.go new file mode 100644 index 0000000..ad55695 --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/district/district.go @@ -0,0 +1,10 @@ +package district + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/tables/table_district" +) + +// District - модель для таблицы district: +type District struct { + table_district.Table_District +} diff --git a/bin/notifier_service/pkg/object_model/entities/district/district_crud.go b/bin/notifier_service/pkg/object_model/entities/district/district_crud.go new file mode 100644 index 0000000..8088df7 --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/district/district_crud.go @@ -0,0 +1,177 @@ +//Файл создан автоматически кодогенератором crud_generator +//Не изменяйте ничего здесь. + +package district + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/constants" + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/calc_struct_version" + "encoding/json" + "github.com/vmihailenco/msgpack/v5" + "reflect" +) + +// versionDistrict - версия структуры модели, с учётом имен и типов полей +var versionDistrict uint32 + +// Crud_District - объект контроллер crud операций +var Crud_District ICrud_District + +// интерфейс стандартных CRUD операций, для использования в DB или GRPC или NRPC +type ICrud_District interface { + Read(*District) error + Save(*District) error + Update(*District) error + Create(*District) error + ReadFromCache(ID int64) (District, error) + UpdateManyFields(*District, []string) error + Update_DepartmentCode(*District) error + Update_DepartmentName(*District) error + Update_DistrictCode(*District) error + Update_DistrictName(*District) error + Update_FilialID(*District) error + Update_RegionCode(*District) error +} + +// TableName - возвращает имя таблицы в БД +func (m District) TableNameDB() string { + return "district" +} + +// NewDistrict - возвращает новый объект +func NewDistrict() District { + return District{} +} + +// AsDistrict - создаёт объект из упакованного объекта в массиве байтов +func AsDistrict(b []byte) (District, error) { + c := NewDistrict() + err := msgpack.Unmarshal(b, &c) + if err != nil { + return NewDistrict(), err + } + return c, nil +} + +// DistrictAsBytes - упаковывает объект в массив байтов +func DistrictAsBytes(m *District) ([]byte, error) { + b, err := msgpack.Marshal(m) + if err != nil { + return nil, err + } + return b, nil +} + +// GetStructVersion - возвращает версию модели +func (m District) GetStructVersion() uint32 { + if versionDistrict == 0 { + versionDistrict = calc_struct_version.CalcStructVersion(reflect.TypeOf(m)) + } + + return versionDistrict +} + +// GetModelFromJSON - создаёт модель из строки json +func (m *District) GetModelFromJSON(sModel string) error { + var err error + + var bytes []byte + bytes = []byte(sModel) + + err = json.Unmarshal(bytes, m) + + return err +} + +// GetJSON - возвращает строку json из модели +func (m District) GetJSON() (string, error) { + var ReturnVar string + var err error + + bytes, err := json.Marshal(m) + if err != nil { + return ReturnVar, err + } + ReturnVar = string(bytes) + return ReturnVar, err +} + +// ---------------------------- CRUD операции ------------------------------------------------------------ + +// Read - находит запись в БД по ID, и заполняет в объект +func (m *District) Read() error { + if Crud_District == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_District.Read(m) + + return err +} + +// Save - записывает объект в БД по ID +func (m *District) Save() error { + if Crud_District == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_District.Save(m) + + return err +} + +// Update - обновляет объект в БД по ID +func (m *District) Update() error { + if Crud_District == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_District.Update(m) + + return err +} + +// Create - создаёт объект в БД с новым ID +func (m *District) Create() error { + if Crud_District == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_District.Create(m) + + return err +} + +// ReadFromCache - находит запись в кэше или в БД по ID, и заполняет в объект +func (m *District) ReadFromCache(ID int64) (District, error) { + Otvet := District{} + var err error + + if Crud_District == nil { + return Otvet, constants.ErrorCrudIsNotInit + } + + Otvet, err = Crud_District.ReadFromCache(ID) + + return Otvet, err +} + +// SetCrudInterface - заполняет интерфейс crud: DB, GRPC, NRPC +func (m District) SetCrudInterface(crud ICrud_District) { + Crud_District = crud + + return +} + +// UpdateManyFields - находит запись в БД по ID, и изменяет только нужные колонки +func (m *District) UpdateManyFields(MassNeedUpdateFields []string) error { + if Crud_District == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_District.UpdateManyFields(m, MassNeedUpdateFields) + + return err +} + +// ---------------------------- конец CRUD операции ------------------------------------------------------------ diff --git a/bin/notifier_service/pkg/object_model/entities/district/district_manual.go b/bin/notifier_service/pkg/object_model/entities/district/district_manual.go new file mode 100644 index 0000000..48bd04e --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/district/district_manual.go @@ -0,0 +1,15 @@ +package district + +// Crud_manual_District - объект контроллер crud операций +var Crud_manual_District ICrud_manual_District + +// интерфейс CRUD операций сделанных вручную, для использования в DB или GRPC или NRPC +type ICrud_manual_District interface { +} + +// SetCrudManualInterface - заполняет интерфейс crud: DB, GRPC, NRPC +func (m District) SetCrudManualInterface(crud ICrud_manual_District) { + Crud_manual_District = crud + + return +} diff --git a/bin/notifier_service/pkg/object_model/entities/district/district_update.go b/bin/notifier_service/pkg/object_model/entities/district/district_update.go new file mode 100644 index 0000000..1638beb --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/district/district_update.go @@ -0,0 +1,72 @@ +package district + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/constants" + ) + + +// Update_DepartmentCode - изменяет объект в БД по ID, присваивает DepartmentCode +func (m *District) Update_DepartmentCode() error { + if Crud_District == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_District.Update_DepartmentCode(m) + + return err +} + +// Update_DepartmentName - изменяет объект в БД по ID, присваивает DepartmentName +func (m *District) Update_DepartmentName() error { + if Crud_District == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_District.Update_DepartmentName(m) + + return err +} + +// Update_DistrictCode - изменяет объект в БД по ID, присваивает DistrictCode +func (m *District) Update_DistrictCode() error { + if Crud_District == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_District.Update_DistrictCode(m) + + return err +} + +// Update_DistrictName - изменяет объект в БД по ID, присваивает DistrictName +func (m *District) Update_DistrictName() error { + if Crud_District == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_District.Update_DistrictName(m) + + return err +} + +// Update_FilialID - изменяет объект в БД по ID, присваивает FilialID +func (m *District) Update_FilialID() error { + if Crud_District == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_District.Update_FilialID(m) + + return err +} + +// Update_RegionCode - изменяет объект в БД по ID, присваивает RegionCode +func (m *District) Update_RegionCode() error { + if Crud_District == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_District.Update_RegionCode(m) + + return err +} diff --git a/bin/notifier_service/pkg/object_model/entities/filial/filial.go b/bin/notifier_service/pkg/object_model/entities/filial/filial.go new file mode 100644 index 0000000..ccb4a6c --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/filial/filial.go @@ -0,0 +1,10 @@ +package filial + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/tables/table_filial" +) + +// Filial - модель для таблицы filial: Филиал +type Filial struct { + table_filial.Table_Filial +} diff --git a/bin/notifier_service/pkg/object_model/entities/filial/filial_crud.go b/bin/notifier_service/pkg/object_model/entities/filial/filial_crud.go new file mode 100644 index 0000000..15d9530 --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/filial/filial_crud.go @@ -0,0 +1,179 @@ +//Файл создан автоматически кодогенератором crud_generator +//Не изменяйте ничего здесь. + +package filial + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/constants" + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/calc_struct_version" + "encoding/json" + "github.com/vmihailenco/msgpack/v5" + "reflect" +) + +// versionFilial - версия структуры модели, с учётом имен и типов полей +var versionFilial uint32 + +// Crud_Filial - объект контроллер crud операций +var Crud_Filial ICrud_Filial + +// интерфейс стандартных CRUD операций, для использования в DB или GRPC или NRPC +type ICrud_Filial interface { + Read(*Filial) error + Save(*Filial) error + Update(*Filial) error + Create(*Filial) error + ReadFromCache(ID int64) (Filial, error) + UpdateManyFields(*Filial, []string) error + Update_AccPrefix(*Filial) error + Update_DivisionName(*Filial) error + Update_LongFormalName(*Filial) error + Update_OperatorEmail(*Filial) error + Update_RegionFormalName(*Filial) error + Update_RegionSmallLatName(*Filial) error + Update_RegionSmallRusName(*Filial) error + Update_ShortFormalName(*Filial) error +} + +// TableName - возвращает имя таблицы в БД +func (m Filial) TableNameDB() string { + return "filial" +} + +// NewFilial - возвращает новый объект +func NewFilial() Filial { + return Filial{} +} + +// AsFilial - создаёт объект из упакованного объекта в массиве байтов +func AsFilial(b []byte) (Filial, error) { + c := NewFilial() + err := msgpack.Unmarshal(b, &c) + if err != nil { + return NewFilial(), err + } + return c, nil +} + +// FilialAsBytes - упаковывает объект в массив байтов +func FilialAsBytes(m *Filial) ([]byte, error) { + b, err := msgpack.Marshal(m) + if err != nil { + return nil, err + } + return b, nil +} + +// GetStructVersion - возвращает версию модели +func (m Filial) GetStructVersion() uint32 { + if versionFilial == 0 { + versionFilial = calc_struct_version.CalcStructVersion(reflect.TypeOf(m)) + } + + return versionFilial +} + +// GetModelFromJSON - создаёт модель из строки json +func (m *Filial) GetModelFromJSON(sModel string) error { + var err error + + var bytes []byte + bytes = []byte(sModel) + + err = json.Unmarshal(bytes, m) + + return err +} + +// GetJSON - возвращает строку json из модели +func (m Filial) GetJSON() (string, error) { + var ReturnVar string + var err error + + bytes, err := json.Marshal(m) + if err != nil { + return ReturnVar, err + } + ReturnVar = string(bytes) + return ReturnVar, err +} + +// ---------------------------- CRUD операции ------------------------------------------------------------ + +// Read - находит запись в БД по ID, и заполняет в объект +func (m *Filial) Read() error { + if Crud_Filial == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Filial.Read(m) + + return err +} + +// Save - записывает объект в БД по ID +func (m *Filial) Save() error { + if Crud_Filial == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Filial.Save(m) + + return err +} + +// Update - обновляет объект в БД по ID +func (m *Filial) Update() error { + if Crud_Filial == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Filial.Update(m) + + return err +} + +// Create - создаёт объект в БД с новым ID +func (m *Filial) Create() error { + if Crud_Filial == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Filial.Create(m) + + return err +} + +// ReadFromCache - находит запись в кэше или в БД по ID, и заполняет в объект +func (m *Filial) ReadFromCache(ID int64) (Filial, error) { + Otvet := Filial{} + var err error + + if Crud_Filial == nil { + return Otvet, constants.ErrorCrudIsNotInit + } + + Otvet, err = Crud_Filial.ReadFromCache(ID) + + return Otvet, err +} + +// SetCrudInterface - заполняет интерфейс crud: DB, GRPC, NRPC +func (m Filial) SetCrudInterface(crud ICrud_Filial) { + Crud_Filial = crud + + return +} + +// UpdateManyFields - находит запись в БД по ID, и изменяет только нужные колонки +func (m *Filial) UpdateManyFields(MassNeedUpdateFields []string) error { + if Crud_Filial == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Filial.UpdateManyFields(m, MassNeedUpdateFields) + + return err +} + +// ---------------------------- конец CRUD операции ------------------------------------------------------------ diff --git a/bin/notifier_service/pkg/object_model/entities/filial/filial_manual.go b/bin/notifier_service/pkg/object_model/entities/filial/filial_manual.go new file mode 100644 index 0000000..603095c --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/filial/filial_manual.go @@ -0,0 +1,15 @@ +package filial + +// Crud_manual_Filial - объект контроллер crud операций +var Crud_manual_Filial ICrud_manual_Filial + +// интерфейс CRUD операций сделанных вручную, для использования в DB или GRPC или NRPC +type ICrud_manual_Filial interface { +} + +// SetCrudManualInterface - заполняет интерфейс crud: DB, GRPC, NRPC +func (m Filial) SetCrudManualInterface(crud ICrud_manual_Filial) { + Crud_manual_Filial = crud + + return +} diff --git a/bin/notifier_service/pkg/object_model/entities/filial/filial_update.go b/bin/notifier_service/pkg/object_model/entities/filial/filial_update.go new file mode 100644 index 0000000..76e7d4c --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/filial/filial_update.go @@ -0,0 +1,94 @@ +package filial + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/constants" + ) + + +// Update_AccPrefix - изменяет объект в БД по ID, присваивает AccPrefix +func (m *Filial) Update_AccPrefix() error { + if Crud_Filial == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Filial.Update_AccPrefix(m) + + return err +} + +// Update_DivisionName - изменяет объект в БД по ID, присваивает DivisionName +func (m *Filial) Update_DivisionName() error { + if Crud_Filial == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Filial.Update_DivisionName(m) + + return err +} + +// Update_LongFormalName - изменяет объект в БД по ID, присваивает LongFormalName +func (m *Filial) Update_LongFormalName() error { + if Crud_Filial == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Filial.Update_LongFormalName(m) + + return err +} + +// Update_OperatorEmail - изменяет объект в БД по ID, присваивает OperatorEmail +func (m *Filial) Update_OperatorEmail() error { + if Crud_Filial == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Filial.Update_OperatorEmail(m) + + return err +} + +// Update_RegionFormalName - изменяет объект в БД по ID, присваивает RegionFormalName +func (m *Filial) Update_RegionFormalName() error { + if Crud_Filial == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Filial.Update_RegionFormalName(m) + + return err +} + +// Update_RegionSmallLatName - изменяет объект в БД по ID, присваивает RegionSmallLatName +func (m *Filial) Update_RegionSmallLatName() error { + if Crud_Filial == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Filial.Update_RegionSmallLatName(m) + + return err +} + +// Update_RegionSmallRusName - изменяет объект в БД по ID, присваивает RegionSmallRusName +func (m *Filial) Update_RegionSmallRusName() error { + if Crud_Filial == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Filial.Update_RegionSmallRusName(m) + + return err +} + +// Update_ShortFormalName - изменяет объект в БД по ID, присваивает ShortFormalName +func (m *Filial) Update_ShortFormalName() error { + if Crud_Filial == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Filial.Update_ShortFormalName(m) + + return err +} diff --git a/bin/notifier_service/pkg/object_model/entities/incoming_event/incoming_event.go b/bin/notifier_service/pkg/object_model/entities/incoming_event/incoming_event.go new file mode 100644 index 0000000..def31f1 --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/incoming_event/incoming_event.go @@ -0,0 +1,11 @@ +package incoming_event + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/tables/table_incoming_event" +) + +// IncomingEvent - модель для таблицы incoming_event: Входяшие события из шины или API, как есть. +Целевая БД сервиса уведомлений +type IncomingEvent struct { + table_incoming_event.Table_IncomingEvent +} diff --git a/bin/notifier_service/pkg/object_model/entities/incoming_event/incoming_event_crud.go b/bin/notifier_service/pkg/object_model/entities/incoming_event/incoming_event_crud.go new file mode 100644 index 0000000..cc59b53 --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/incoming_event/incoming_event_crud.go @@ -0,0 +1,178 @@ +//Файл создан автоматически кодогенератором crud_generator +//Не изменяйте ничего здесь. + +package incoming_event + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/constants" + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/calc_struct_version" + "encoding/json" + "github.com/vmihailenco/msgpack/v5" + "reflect" +) + +// versionIncomingEvent - версия структуры модели, с учётом имен и типов полей +var versionIncomingEvent uint32 + +// Crud_IncomingEvent - объект контроллер crud операций +var Crud_IncomingEvent ICrud_IncomingEvent + +// интерфейс стандартных CRUD операций, для использования в DB или GRPC или NRPC +type ICrud_IncomingEvent interface { + Read(*IncomingEvent) error + Save(*IncomingEvent) error + Update(*IncomingEvent) error + Create(*IncomingEvent) error + ReadFromCache(ID int64) (IncomingEvent, error) + UpdateManyFields(*IncomingEvent, []string) error + Update_IncomingChannel(*IncomingEvent) error + Update_IsParsed(*IncomingEvent) error + Update_IsProcessed(*IncomingEvent) error + Update_ParseError(*IncomingEvent) error + Update_ReceivedAt(*IncomingEvent) error + Update_SrcMsgJson(*IncomingEvent) error + Update_SysID(*IncomingEvent) error +} + +// TableName - возвращает имя таблицы в БД +func (m IncomingEvent) TableNameDB() string { + return "incoming_event" +} + +// NewIncomingEvent - возвращает новый объект +func NewIncomingEvent() IncomingEvent { + return IncomingEvent{} +} + +// AsIncomingEvent - создаёт объект из упакованного объекта в массиве байтов +func AsIncomingEvent(b []byte) (IncomingEvent, error) { + c := NewIncomingEvent() + err := msgpack.Unmarshal(b, &c) + if err != nil { + return NewIncomingEvent(), err + } + return c, nil +} + +// IncomingEventAsBytes - упаковывает объект в массив байтов +func IncomingEventAsBytes(m *IncomingEvent) ([]byte, error) { + b, err := msgpack.Marshal(m) + if err != nil { + return nil, err + } + return b, nil +} + +// GetStructVersion - возвращает версию модели +func (m IncomingEvent) GetStructVersion() uint32 { + if versionIncomingEvent == 0 { + versionIncomingEvent = calc_struct_version.CalcStructVersion(reflect.TypeOf(m)) + } + + return versionIncomingEvent +} + +// GetModelFromJSON - создаёт модель из строки json +func (m *IncomingEvent) GetModelFromJSON(sModel string) error { + var err error + + var bytes []byte + bytes = []byte(sModel) + + err = json.Unmarshal(bytes, m) + + return err +} + +// GetJSON - возвращает строку json из модели +func (m IncomingEvent) GetJSON() (string, error) { + var ReturnVar string + var err error + + bytes, err := json.Marshal(m) + if err != nil { + return ReturnVar, err + } + ReturnVar = string(bytes) + return ReturnVar, err +} + +// ---------------------------- CRUD операции ------------------------------------------------------------ + +// Read - находит запись в БД по ID, и заполняет в объект +func (m *IncomingEvent) Read() error { + if Crud_IncomingEvent == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_IncomingEvent.Read(m) + + return err +} + +// Save - записывает объект в БД по ID +func (m *IncomingEvent) Save() error { + if Crud_IncomingEvent == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_IncomingEvent.Save(m) + + return err +} + +// Update - обновляет объект в БД по ID +func (m *IncomingEvent) Update() error { + if Crud_IncomingEvent == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_IncomingEvent.Update(m) + + return err +} + +// Create - создаёт объект в БД с новым ID +func (m *IncomingEvent) Create() error { + if Crud_IncomingEvent == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_IncomingEvent.Create(m) + + return err +} + +// ReadFromCache - находит запись в кэше или в БД по ID, и заполняет в объект +func (m *IncomingEvent) ReadFromCache(ID int64) (IncomingEvent, error) { + Otvet := IncomingEvent{} + var err error + + if Crud_IncomingEvent == nil { + return Otvet, constants.ErrorCrudIsNotInit + } + + Otvet, err = Crud_IncomingEvent.ReadFromCache(ID) + + return Otvet, err +} + +// SetCrudInterface - заполняет интерфейс crud: DB, GRPC, NRPC +func (m IncomingEvent) SetCrudInterface(crud ICrud_IncomingEvent) { + Crud_IncomingEvent = crud + + return +} + +// UpdateManyFields - находит запись в БД по ID, и изменяет только нужные колонки +func (m *IncomingEvent) UpdateManyFields(MassNeedUpdateFields []string) error { + if Crud_IncomingEvent == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_IncomingEvent.UpdateManyFields(m, MassNeedUpdateFields) + + return err +} + +// ---------------------------- конец CRUD операции ------------------------------------------------------------ diff --git a/bin/notifier_service/pkg/object_model/entities/incoming_event/incoming_event_manual.go b/bin/notifier_service/pkg/object_model/entities/incoming_event/incoming_event_manual.go new file mode 100644 index 0000000..e7817aa --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/incoming_event/incoming_event_manual.go @@ -0,0 +1,15 @@ +package incoming_event + +// Crud_manual_IncomingEvent - объект контроллер crud операций +var Crud_manual_IncomingEvent ICrud_manual_IncomingEvent + +// интерфейс CRUD операций сделанных вручную, для использования в DB или GRPC или NRPC +type ICrud_manual_IncomingEvent interface { +} + +// SetCrudManualInterface - заполняет интерфейс crud: DB, GRPC, NRPC +func (m IncomingEvent) SetCrudManualInterface(crud ICrud_manual_IncomingEvent) { + Crud_manual_IncomingEvent = crud + + return +} diff --git a/bin/notifier_service/pkg/object_model/entities/incoming_event/incoming_event_update.go b/bin/notifier_service/pkg/object_model/entities/incoming_event/incoming_event_update.go new file mode 100644 index 0000000..f6458cb --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/incoming_event/incoming_event_update.go @@ -0,0 +1,83 @@ +package incoming_event + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/constants" + ) + + +// Update_IncomingChannel - изменяет объект в БД по ID, присваивает IncomingChannel +func (m *IncomingEvent) Update_IncomingChannel() error { + if Crud_IncomingEvent == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_IncomingEvent.Update_IncomingChannel(m) + + return err +} + +// Update_IsParsed - изменяет объект в БД по ID, присваивает IsParsed +func (m *IncomingEvent) Update_IsParsed() error { + if Crud_IncomingEvent == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_IncomingEvent.Update_IsParsed(m) + + return err +} + +// Update_IsProcessed - изменяет объект в БД по ID, присваивает IsProcessed +func (m *IncomingEvent) Update_IsProcessed() error { + if Crud_IncomingEvent == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_IncomingEvent.Update_IsProcessed(m) + + return err +} + +// Update_ParseError - изменяет объект в БД по ID, присваивает ParseError +func (m *IncomingEvent) Update_ParseError() error { + if Crud_IncomingEvent == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_IncomingEvent.Update_ParseError(m) + + return err +} + +// Update_ReceivedAt - изменяет объект в БД по ID, присваивает ReceivedAt +func (m *IncomingEvent) Update_ReceivedAt() error { + if Crud_IncomingEvent == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_IncomingEvent.Update_ReceivedAt(m) + + return err +} + +// Update_SrcMsgJson - изменяет объект в БД по ID, присваивает SrcMsgJson +func (m *IncomingEvent) Update_SrcMsgJson() error { + if Crud_IncomingEvent == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_IncomingEvent.Update_SrcMsgJson(m) + + return err +} + +// Update_SysID - изменяет объект в БД по ID, присваивает SysID +func (m *IncomingEvent) Update_SysID() error { + if Crud_IncomingEvent == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_IncomingEvent.Update_SysID(m) + + return err +} diff --git a/bin/notifier_service/pkg/object_model/entities/link_type/link_type.go b/bin/notifier_service/pkg/object_model/entities/link_type/link_type.go new file mode 100644 index 0000000..5afc388 --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/link_type/link_type.go @@ -0,0 +1,10 @@ +package link_type + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/tables/table_link_type" +) + +// LinkType - модель для таблицы link_type: Тип ссылки +type LinkType struct { + table_link_type.Table_LinkType +} diff --git a/bin/notifier_service/pkg/object_model/entities/link_type/link_type_crud.go b/bin/notifier_service/pkg/object_model/entities/link_type/link_type_crud.go new file mode 100644 index 0000000..c3d44eb --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/link_type/link_type_crud.go @@ -0,0 +1,173 @@ +//Файл создан автоматически кодогенератором crud_generator +//Не изменяйте ничего здесь. + +package link_type + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/constants" + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/calc_struct_version" + "encoding/json" + "github.com/vmihailenco/msgpack/v5" + "reflect" +) + +// versionLinkType - версия структуры модели, с учётом имен и типов полей +var versionLinkType uint32 + +// Crud_LinkType - объект контроллер crud операций +var Crud_LinkType ICrud_LinkType + +// интерфейс стандартных CRUD операций, для использования в DB или GRPC или NRPC +type ICrud_LinkType interface { + Read(*LinkType) error + Save(*LinkType) error + Update(*LinkType) error + Create(*LinkType) error + ReadFromCache(ID int64) (LinkType, error) + UpdateManyFields(*LinkType, []string) error + Update_Description(*LinkType) error + Update_Name(*LinkType) error +} + +// TableName - возвращает имя таблицы в БД +func (m LinkType) TableNameDB() string { + return "link_type" +} + +// NewLinkType - возвращает новый объект +func NewLinkType() LinkType { + return LinkType{} +} + +// AsLinkType - создаёт объект из упакованного объекта в массиве байтов +func AsLinkType(b []byte) (LinkType, error) { + c := NewLinkType() + err := msgpack.Unmarshal(b, &c) + if err != nil { + return NewLinkType(), err + } + return c, nil +} + +// LinkTypeAsBytes - упаковывает объект в массив байтов +func LinkTypeAsBytes(m *LinkType) ([]byte, error) { + b, err := msgpack.Marshal(m) + if err != nil { + return nil, err + } + return b, nil +} + +// GetStructVersion - возвращает версию модели +func (m LinkType) GetStructVersion() uint32 { + if versionLinkType == 0 { + versionLinkType = calc_struct_version.CalcStructVersion(reflect.TypeOf(m)) + } + + return versionLinkType +} + +// GetModelFromJSON - создаёт модель из строки json +func (m *LinkType) GetModelFromJSON(sModel string) error { + var err error + + var bytes []byte + bytes = []byte(sModel) + + err = json.Unmarshal(bytes, m) + + return err +} + +// GetJSON - возвращает строку json из модели +func (m LinkType) GetJSON() (string, error) { + var ReturnVar string + var err error + + bytes, err := json.Marshal(m) + if err != nil { + return ReturnVar, err + } + ReturnVar = string(bytes) + return ReturnVar, err +} + +// ---------------------------- CRUD операции ------------------------------------------------------------ + +// Read - находит запись в БД по ID, и заполняет в объект +func (m *LinkType) Read() error { + if Crud_LinkType == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_LinkType.Read(m) + + return err +} + +// Save - записывает объект в БД по ID +func (m *LinkType) Save() error { + if Crud_LinkType == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_LinkType.Save(m) + + return err +} + +// Update - обновляет объект в БД по ID +func (m *LinkType) Update() error { + if Crud_LinkType == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_LinkType.Update(m) + + return err +} + +// Create - создаёт объект в БД с новым ID +func (m *LinkType) Create() error { + if Crud_LinkType == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_LinkType.Create(m) + + return err +} + +// ReadFromCache - находит запись в кэше или в БД по ID, и заполняет в объект +func (m *LinkType) ReadFromCache(ID int64) (LinkType, error) { + Otvet := LinkType{} + var err error + + if Crud_LinkType == nil { + return Otvet, constants.ErrorCrudIsNotInit + } + + Otvet, err = Crud_LinkType.ReadFromCache(ID) + + return Otvet, err +} + +// SetCrudInterface - заполняет интерфейс crud: DB, GRPC, NRPC +func (m LinkType) SetCrudInterface(crud ICrud_LinkType) { + Crud_LinkType = crud + + return +} + +// UpdateManyFields - находит запись в БД по ID, и изменяет только нужные колонки +func (m *LinkType) UpdateManyFields(MassNeedUpdateFields []string) error { + if Crud_LinkType == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_LinkType.UpdateManyFields(m, MassNeedUpdateFields) + + return err +} + +// ---------------------------- конец CRUD операции ------------------------------------------------------------ diff --git a/bin/notifier_service/pkg/object_model/entities/link_type/link_type_manual.go b/bin/notifier_service/pkg/object_model/entities/link_type/link_type_manual.go new file mode 100644 index 0000000..5bcb546 --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/link_type/link_type_manual.go @@ -0,0 +1,15 @@ +package link_type + +// Crud_manual_LinkType - объект контроллер crud операций +var Crud_manual_LinkType ICrud_manual_LinkType + +// интерфейс CRUD операций сделанных вручную, для использования в DB или GRPC или NRPC +type ICrud_manual_LinkType interface { +} + +// SetCrudManualInterface - заполняет интерфейс crud: DB, GRPC, NRPC +func (m LinkType) SetCrudManualInterface(crud ICrud_manual_LinkType) { + Crud_manual_LinkType = crud + + return +} diff --git a/bin/notifier_service/pkg/object_model/entities/link_type/link_type_update.go b/bin/notifier_service/pkg/object_model/entities/link_type/link_type_update.go new file mode 100644 index 0000000..cdaa42f --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/link_type/link_type_update.go @@ -0,0 +1,28 @@ +package link_type + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/constants" + ) + + +// Update_Description - изменяет объект в БД по ID, присваивает Description +func (m *LinkType) Update_Description() error { + if Crud_LinkType == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_LinkType.Update_Description(m) + + return err +} + +// Update_Name - изменяет объект в БД по ID, присваивает Name +func (m *LinkType) Update_Name() error { + if Crud_LinkType == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_LinkType.Update_Name(m) + + return err +} diff --git a/bin/notifier_service/pkg/object_model/entities/mailing/mailing.go b/bin/notifier_service/pkg/object_model/entities/mailing/mailing.go new file mode 100644 index 0000000..81fa3f1 --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/mailing/mailing.go @@ -0,0 +1,11 @@ +package mailing + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/tables/table_mailing" +) + +// Mailing - модель для таблицы mailing: Рассылки +Целевая БД сервиса уведомлений +type Mailing struct { + table_mailing.Table_Mailing +} diff --git a/bin/notifier_service/pkg/object_model/entities/mailing/mailing_crud.go b/bin/notifier_service/pkg/object_model/entities/mailing/mailing_crud.go new file mode 100644 index 0000000..a14c6ee --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/mailing/mailing_crud.go @@ -0,0 +1,181 @@ +//Файл создан автоматически кодогенератором crud_generator +//Не изменяйте ничего здесь. + +package mailing + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/constants" + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/calc_struct_version" + "encoding/json" + "github.com/vmihailenco/msgpack/v5" + "reflect" +) + +// versionMailing - версия структуры модели, с учётом имен и типов полей +var versionMailing uint32 + +// Crud_Mailing - объект контроллер crud операций +var Crud_Mailing ICrud_Mailing + +// интерфейс стандартных CRUD операций, для использования в DB или GRPC или NRPC +type ICrud_Mailing interface { + Read(*Mailing) error + Save(*Mailing) error + Update(*Mailing) error + Create(*Mailing) error + ReadFromCache(ID int64) (Mailing, error) + UpdateManyFields(*Mailing, []string) error + Update_Code(*Mailing) error + Update_EndAt(*Mailing) error + Update_IncomingEventID(*Mailing) error + Update_IsCanceled(*Mailing) error + Update_IsFinished(*Mailing) error + Update_ProcessCode(*Mailing) error + Update_ReceivedAt(*Mailing) error + Update_StartAt(*Mailing) error + Update_Subject(*Mailing) error + Update_TimeZone(*Mailing) error +} + +// TableName - возвращает имя таблицы в БД +func (m Mailing) TableNameDB() string { + return "mailing" +} + +// NewMailing - возвращает новый объект +func NewMailing() Mailing { + return Mailing{} +} + +// AsMailing - создаёт объект из упакованного объекта в массиве байтов +func AsMailing(b []byte) (Mailing, error) { + c := NewMailing() + err := msgpack.Unmarshal(b, &c) + if err != nil { + return NewMailing(), err + } + return c, nil +} + +// MailingAsBytes - упаковывает объект в массив байтов +func MailingAsBytes(m *Mailing) ([]byte, error) { + b, err := msgpack.Marshal(m) + if err != nil { + return nil, err + } + return b, nil +} + +// GetStructVersion - возвращает версию модели +func (m Mailing) GetStructVersion() uint32 { + if versionMailing == 0 { + versionMailing = calc_struct_version.CalcStructVersion(reflect.TypeOf(m)) + } + + return versionMailing +} + +// GetModelFromJSON - создаёт модель из строки json +func (m *Mailing) GetModelFromJSON(sModel string) error { + var err error + + var bytes []byte + bytes = []byte(sModel) + + err = json.Unmarshal(bytes, m) + + return err +} + +// GetJSON - возвращает строку json из модели +func (m Mailing) GetJSON() (string, error) { + var ReturnVar string + var err error + + bytes, err := json.Marshal(m) + if err != nil { + return ReturnVar, err + } + ReturnVar = string(bytes) + return ReturnVar, err +} + +// ---------------------------- CRUD операции ------------------------------------------------------------ + +// Read - находит запись в БД по ID, и заполняет в объект +func (m *Mailing) Read() error { + if Crud_Mailing == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Mailing.Read(m) + + return err +} + +// Save - записывает объект в БД по ID +func (m *Mailing) Save() error { + if Crud_Mailing == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Mailing.Save(m) + + return err +} + +// Update - обновляет объект в БД по ID +func (m *Mailing) Update() error { + if Crud_Mailing == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Mailing.Update(m) + + return err +} + +// Create - создаёт объект в БД с новым ID +func (m *Mailing) Create() error { + if Crud_Mailing == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Mailing.Create(m) + + return err +} + +// ReadFromCache - находит запись в кэше или в БД по ID, и заполняет в объект +func (m *Mailing) ReadFromCache(ID int64) (Mailing, error) { + Otvet := Mailing{} + var err error + + if Crud_Mailing == nil { + return Otvet, constants.ErrorCrudIsNotInit + } + + Otvet, err = Crud_Mailing.ReadFromCache(ID) + + return Otvet, err +} + +// SetCrudInterface - заполняет интерфейс crud: DB, GRPC, NRPC +func (m Mailing) SetCrudInterface(crud ICrud_Mailing) { + Crud_Mailing = crud + + return +} + +// UpdateManyFields - находит запись в БД по ID, и изменяет только нужные колонки +func (m *Mailing) UpdateManyFields(MassNeedUpdateFields []string) error { + if Crud_Mailing == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Mailing.UpdateManyFields(m, MassNeedUpdateFields) + + return err +} + +// ---------------------------- конец CRUD операции ------------------------------------------------------------ diff --git a/bin/notifier_service/pkg/object_model/entities/mailing/mailing_manual.go b/bin/notifier_service/pkg/object_model/entities/mailing/mailing_manual.go new file mode 100644 index 0000000..6bb1503 --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/mailing/mailing_manual.go @@ -0,0 +1,15 @@ +package mailing + +// Crud_manual_Mailing - объект контроллер crud операций +var Crud_manual_Mailing ICrud_manual_Mailing + +// интерфейс CRUD операций сделанных вручную, для использования в DB или GRPC или NRPC +type ICrud_manual_Mailing interface { +} + +// SetCrudManualInterface - заполняет интерфейс crud: DB, GRPC, NRPC +func (m Mailing) SetCrudManualInterface(crud ICrud_manual_Mailing) { + Crud_manual_Mailing = crud + + return +} diff --git a/bin/notifier_service/pkg/object_model/entities/mailing/mailing_update.go b/bin/notifier_service/pkg/object_model/entities/mailing/mailing_update.go new file mode 100644 index 0000000..d4cba2f --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/mailing/mailing_update.go @@ -0,0 +1,116 @@ +package mailing + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/constants" + ) + + +// Update_Code - изменяет объект в БД по ID, присваивает Code +func (m *Mailing) Update_Code() error { + if Crud_Mailing == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Mailing.Update_Code(m) + + return err +} + +// Update_EndAt - изменяет объект в БД по ID, присваивает EndAt +func (m *Mailing) Update_EndAt() error { + if Crud_Mailing == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Mailing.Update_EndAt(m) + + return err +} + +// Update_IncomingEventID - изменяет объект в БД по ID, присваивает IncomingEventID +func (m *Mailing) Update_IncomingEventID() error { + if Crud_Mailing == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Mailing.Update_IncomingEventID(m) + + return err +} + +// Update_IsCanceled - изменяет объект в БД по ID, присваивает IsCanceled +func (m *Mailing) Update_IsCanceled() error { + if Crud_Mailing == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Mailing.Update_IsCanceled(m) + + return err +} + +// Update_IsFinished - изменяет объект в БД по ID, присваивает IsFinished +func (m *Mailing) Update_IsFinished() error { + if Crud_Mailing == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Mailing.Update_IsFinished(m) + + return err +} + +// Update_ProcessCode - изменяет объект в БД по ID, присваивает ProcessCode +func (m *Mailing) Update_ProcessCode() error { + if Crud_Mailing == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Mailing.Update_ProcessCode(m) + + return err +} + +// Update_ReceivedAt - изменяет объект в БД по ID, присваивает ReceivedAt +func (m *Mailing) Update_ReceivedAt() error { + if Crud_Mailing == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Mailing.Update_ReceivedAt(m) + + return err +} + +// Update_StartAt - изменяет объект в БД по ID, присваивает StartAt +func (m *Mailing) Update_StartAt() error { + if Crud_Mailing == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Mailing.Update_StartAt(m) + + return err +} + +// Update_Subject - изменяет объект в БД по ID, присваивает Subject +func (m *Mailing) Update_Subject() error { + if Crud_Mailing == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Mailing.Update_Subject(m) + + return err +} + +// Update_TimeZone - изменяет объект в БД по ID, присваивает TimeZone +func (m *Mailing) Update_TimeZone() error { + if Crud_Mailing == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Mailing.Update_TimeZone(m) + + return err +} diff --git a/bin/notifier_service/pkg/object_model/entities/mailing_stats/mailing_stats.go b/bin/notifier_service/pkg/object_model/entities/mailing_stats/mailing_stats.go new file mode 100644 index 0000000..5988d1e --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/mailing_stats/mailing_stats.go @@ -0,0 +1,10 @@ +package mailing_stats + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/tables/table_mailing_stats" +) + +// MailingStat - модель для таблицы mailing_stats: +type MailingStat struct { + table_mailing_stats.Table_MailingStat +} diff --git a/bin/notifier_service/pkg/object_model/entities/mailing_stats/mailing_stats_crud.go b/bin/notifier_service/pkg/object_model/entities/mailing_stats/mailing_stats_crud.go new file mode 100644 index 0000000..164a998 --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/mailing_stats/mailing_stats_crud.go @@ -0,0 +1,176 @@ +//Файл создан автоматически кодогенератором crud_generator +//Не изменяйте ничего здесь. + +package mailing_stats + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/constants" + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/calc_struct_version" + "encoding/json" + "github.com/vmihailenco/msgpack/v5" + "reflect" +) + +// versionMailingStat - версия структуры модели, с учётом имен и типов полей +var versionMailingStat uint32 + +// Crud_MailingStat - объект контроллер crud операций +var Crud_MailingStat ICrud_MailingStat + +// интерфейс стандартных CRUD операций, для использования в DB или GRPC или NRPC +type ICrud_MailingStat interface { + Read(*MailingStat) error + Save(*MailingStat) error + Update(*MailingStat) error + Create(*MailingStat) error + ReadFromCache(ID int64) (MailingStat, error) + UpdateManyFields(*MailingStat, []string) error + Update_ErrorsCount(*MailingStat) error + Update_MailingID(*MailingStat) error + Update_MessagesTotalCount(*MailingStat) error + Update_RedirectCount(*MailingStat) error + Update_SentMessagesCount(*MailingStat) error +} + +// TableName - возвращает имя таблицы в БД +func (m MailingStat) TableNameDB() string { + return "mailing_stats" +} + +// NewMailingStat - возвращает новый объект +func NewMailingStat() MailingStat { + return MailingStat{} +} + +// AsMailingStat - создаёт объект из упакованного объекта в массиве байтов +func AsMailingStat(b []byte) (MailingStat, error) { + c := NewMailingStat() + err := msgpack.Unmarshal(b, &c) + if err != nil { + return NewMailingStat(), err + } + return c, nil +} + +// MailingStatAsBytes - упаковывает объект в массив байтов +func MailingStatAsBytes(m *MailingStat) ([]byte, error) { + b, err := msgpack.Marshal(m) + if err != nil { + return nil, err + } + return b, nil +} + +// GetStructVersion - возвращает версию модели +func (m MailingStat) GetStructVersion() uint32 { + if versionMailingStat == 0 { + versionMailingStat = calc_struct_version.CalcStructVersion(reflect.TypeOf(m)) + } + + return versionMailingStat +} + +// GetModelFromJSON - создаёт модель из строки json +func (m *MailingStat) GetModelFromJSON(sModel string) error { + var err error + + var bytes []byte + bytes = []byte(sModel) + + err = json.Unmarshal(bytes, m) + + return err +} + +// GetJSON - возвращает строку json из модели +func (m MailingStat) GetJSON() (string, error) { + var ReturnVar string + var err error + + bytes, err := json.Marshal(m) + if err != nil { + return ReturnVar, err + } + ReturnVar = string(bytes) + return ReturnVar, err +} + +// ---------------------------- CRUD операции ------------------------------------------------------------ + +// Read - находит запись в БД по ID, и заполняет в объект +func (m *MailingStat) Read() error { + if Crud_MailingStat == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_MailingStat.Read(m) + + return err +} + +// Save - записывает объект в БД по ID +func (m *MailingStat) Save() error { + if Crud_MailingStat == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_MailingStat.Save(m) + + return err +} + +// Update - обновляет объект в БД по ID +func (m *MailingStat) Update() error { + if Crud_MailingStat == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_MailingStat.Update(m) + + return err +} + +// Create - создаёт объект в БД с новым ID +func (m *MailingStat) Create() error { + if Crud_MailingStat == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_MailingStat.Create(m) + + return err +} + +// ReadFromCache - находит запись в кэше или в БД по ID, и заполняет в объект +func (m *MailingStat) ReadFromCache(ID int64) (MailingStat, error) { + Otvet := MailingStat{} + var err error + + if Crud_MailingStat == nil { + return Otvet, constants.ErrorCrudIsNotInit + } + + Otvet, err = Crud_MailingStat.ReadFromCache(ID) + + return Otvet, err +} + +// SetCrudInterface - заполняет интерфейс crud: DB, GRPC, NRPC +func (m MailingStat) SetCrudInterface(crud ICrud_MailingStat) { + Crud_MailingStat = crud + + return +} + +// UpdateManyFields - находит запись в БД по ID, и изменяет только нужные колонки +func (m *MailingStat) UpdateManyFields(MassNeedUpdateFields []string) error { + if Crud_MailingStat == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_MailingStat.UpdateManyFields(m, MassNeedUpdateFields) + + return err +} + +// ---------------------------- конец CRUD операции ------------------------------------------------------------ diff --git a/bin/notifier_service/pkg/object_model/entities/mailing_stats/mailing_stats_manual.go b/bin/notifier_service/pkg/object_model/entities/mailing_stats/mailing_stats_manual.go new file mode 100644 index 0000000..900b97b --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/mailing_stats/mailing_stats_manual.go @@ -0,0 +1,15 @@ +package mailing_stats + +// Crud_manual_MailingStat - объект контроллер crud операций +var Crud_manual_MailingStat ICrud_manual_MailingStat + +// интерфейс CRUD операций сделанных вручную, для использования в DB или GRPC или NRPC +type ICrud_manual_MailingStat interface { +} + +// SetCrudManualInterface - заполняет интерфейс crud: DB, GRPC, NRPC +func (m MailingStat) SetCrudManualInterface(crud ICrud_manual_MailingStat) { + Crud_manual_MailingStat = crud + + return +} diff --git a/bin/notifier_service/pkg/object_model/entities/mailing_stats/mailing_stats_update.go b/bin/notifier_service/pkg/object_model/entities/mailing_stats/mailing_stats_update.go new file mode 100644 index 0000000..4b1aba9 --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/mailing_stats/mailing_stats_update.go @@ -0,0 +1,61 @@ +package mailing_stats + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/constants" + ) + + +// Update_ErrorsCount - изменяет объект в БД по ID, присваивает ErrorsCount +func (m *MailingStat) Update_ErrorsCount() error { + if Crud_MailingStat == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_MailingStat.Update_ErrorsCount(m) + + return err +} + +// Update_MailingID - изменяет объект в БД по ID, присваивает MailingID +func (m *MailingStat) Update_MailingID() error { + if Crud_MailingStat == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_MailingStat.Update_MailingID(m) + + return err +} + +// Update_MessagesTotalCount - изменяет объект в БД по ID, присваивает MessagesTotalCount +func (m *MailingStat) Update_MessagesTotalCount() error { + if Crud_MailingStat == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_MailingStat.Update_MessagesTotalCount(m) + + return err +} + +// Update_RedirectCount - изменяет объект в БД по ID, присваивает RedirectCount +func (m *MailingStat) Update_RedirectCount() error { + if Crud_MailingStat == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_MailingStat.Update_RedirectCount(m) + + return err +} + +// Update_SentMessagesCount - изменяет объект в БД по ID, присваивает SentMessagesCount +func (m *MailingStat) Update_SentMessagesCount() error { + if Crud_MailingStat == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_MailingStat.Update_SentMessagesCount(m) + + return err +} diff --git a/bin/notifier_service/pkg/object_model/entities/message/message.go b/bin/notifier_service/pkg/object_model/entities/message/message.go new file mode 100644 index 0000000..692740a --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/message/message.go @@ -0,0 +1,11 @@ +package message + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/tables/table_message" +) + +// Message - модель для таблицы message: сообщения +Целевая БД сервиса уведомлений +type Message struct { + table_message.Table_Message +} diff --git a/bin/notifier_service/pkg/object_model/entities/message/message_crud.go b/bin/notifier_service/pkg/object_model/entities/message/message_crud.go new file mode 100644 index 0000000..e50dc1e --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/message/message_crud.go @@ -0,0 +1,197 @@ +//Файл создан автоматически кодогенератором crud_generator +//Не изменяйте ничего здесь. + +package message + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/constants" + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/calc_struct_version" + "encoding/json" + "github.com/vmihailenco/msgpack/v5" + "reflect" +) + +// versionMessage - версия структуры модели, с учётом имен и типов полей +var versionMessage uint32 + +// Crud_Message - объект контроллер crud операций +var Crud_Message ICrud_Message + +// интерфейс стандартных CRUD операций, для использования в DB или GRPC или NRPC +type ICrud_Message interface { + Read(*Message) error + Save(*Message) error + Update(*Message) error + Create(*Message) error + ReadFromCache(ID int64) (Message, error) + UpdateManyFields(*Message, []string) error + Update_Attachments(*Message) error + Update_CanceledMsgID(*Message) error + Update_ChannelID(*Message) error + Update_ContactAddress(*Message) error + Update_ContactInfo(*Message) error + Update_CountTryCheck(*Message) error + Update_CountTrySent(*Message) error + Update_DeliveredAt(*Message) error + Update_DeliveryStatusID(*Message) error + Update_ExternalID(*Message) error + Update_FilialID(*Message) error + Update_GateName(*Message) error + Update_IncomingEventID(*Message) error + Update_IsChecked(*Message) error + Update_IsOrganisationAcc(*Message) error + Update_IsSent(*Message) error + Update_MailingID(*Message) error + Update_Msg(*Message) error + Update_PersonalAcc(*Message) error + Update_SendingStatus(*Message) error + Update_Seq(*Message) error + Update_TryCheckAt(*Message) error + Update_TrySendAt(*Message) error + Update_UserAddress(*Message) error + Update_UserID(*Message) error + Update_Utm(*Message) error +} + +// TableName - возвращает имя таблицы в БД +func (m Message) TableNameDB() string { + return "message" +} + +// NewMessage - возвращает новый объект +func NewMessage() Message { + return Message{} +} + +// AsMessage - создаёт объект из упакованного объекта в массиве байтов +func AsMessage(b []byte) (Message, error) { + c := NewMessage() + err := msgpack.Unmarshal(b, &c) + if err != nil { + return NewMessage(), err + } + return c, nil +} + +// MessageAsBytes - упаковывает объект в массив байтов +func MessageAsBytes(m *Message) ([]byte, error) { + b, err := msgpack.Marshal(m) + if err != nil { + return nil, err + } + return b, nil +} + +// GetStructVersion - возвращает версию модели +func (m Message) GetStructVersion() uint32 { + if versionMessage == 0 { + versionMessage = calc_struct_version.CalcStructVersion(reflect.TypeOf(m)) + } + + return versionMessage +} + +// GetModelFromJSON - создаёт модель из строки json +func (m *Message) GetModelFromJSON(sModel string) error { + var err error + + var bytes []byte + bytes = []byte(sModel) + + err = json.Unmarshal(bytes, m) + + return err +} + +// GetJSON - возвращает строку json из модели +func (m Message) GetJSON() (string, error) { + var ReturnVar string + var err error + + bytes, err := json.Marshal(m) + if err != nil { + return ReturnVar, err + } + ReturnVar = string(bytes) + return ReturnVar, err +} + +// ---------------------------- CRUD операции ------------------------------------------------------------ + +// Read - находит запись в БД по ID, и заполняет в объект +func (m *Message) Read() error { + if Crud_Message == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Message.Read(m) + + return err +} + +// Save - записывает объект в БД по ID +func (m *Message) Save() error { + if Crud_Message == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Message.Save(m) + + return err +} + +// Update - обновляет объект в БД по ID +func (m *Message) Update() error { + if Crud_Message == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Message.Update(m) + + return err +} + +// Create - создаёт объект в БД с новым ID +func (m *Message) Create() error { + if Crud_Message == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Message.Create(m) + + return err +} + +// ReadFromCache - находит запись в кэше или в БД по ID, и заполняет в объект +func (m *Message) ReadFromCache(ID int64) (Message, error) { + Otvet := Message{} + var err error + + if Crud_Message == nil { + return Otvet, constants.ErrorCrudIsNotInit + } + + Otvet, err = Crud_Message.ReadFromCache(ID) + + return Otvet, err +} + +// SetCrudInterface - заполняет интерфейс crud: DB, GRPC, NRPC +func (m Message) SetCrudInterface(crud ICrud_Message) { + Crud_Message = crud + + return +} + +// UpdateManyFields - находит запись в БД по ID, и изменяет только нужные колонки +func (m *Message) UpdateManyFields(MassNeedUpdateFields []string) error { + if Crud_Message == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Message.UpdateManyFields(m, MassNeedUpdateFields) + + return err +} + +// ---------------------------- конец CRUD операции ------------------------------------------------------------ diff --git a/bin/notifier_service/pkg/object_model/entities/message/message_manual.go b/bin/notifier_service/pkg/object_model/entities/message/message_manual.go new file mode 100644 index 0000000..05ad94d --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/message/message_manual.go @@ -0,0 +1,15 @@ +package message + +// Crud_manual_Message - объект контроллер crud операций +var Crud_manual_Message ICrud_manual_Message + +// интерфейс CRUD операций сделанных вручную, для использования в DB или GRPC или NRPC +type ICrud_manual_Message interface { +} + +// SetCrudManualInterface - заполняет интерфейс crud: DB, GRPC, NRPC +func (m Message) SetCrudManualInterface(crud ICrud_manual_Message) { + Crud_manual_Message = crud + + return +} diff --git a/bin/notifier_service/pkg/object_model/entities/message/message_update.go b/bin/notifier_service/pkg/object_model/entities/message/message_update.go new file mode 100644 index 0000000..fb00af1 --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/message/message_update.go @@ -0,0 +1,292 @@ +package message + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/constants" + ) + + +// Update_Attachments - изменяет объект в БД по ID, присваивает Attachments +func (m *Message) Update_Attachments() error { + if Crud_Message == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Message.Update_Attachments(m) + + return err +} + +// Update_CanceledMsgID - изменяет объект в БД по ID, присваивает CanceledMsgID +func (m *Message) Update_CanceledMsgID() error { + if Crud_Message == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Message.Update_CanceledMsgID(m) + + return err +} + +// Update_ChannelID - изменяет объект в БД по ID, присваивает ChannelID +func (m *Message) Update_ChannelID() error { + if Crud_Message == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Message.Update_ChannelID(m) + + return err +} + +// Update_ContactAddress - изменяет объект в БД по ID, присваивает ContactAddress +func (m *Message) Update_ContactAddress() error { + if Crud_Message == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Message.Update_ContactAddress(m) + + return err +} + +// Update_ContactInfo - изменяет объект в БД по ID, присваивает ContactInfo +func (m *Message) Update_ContactInfo() error { + if Crud_Message == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Message.Update_ContactInfo(m) + + return err +} + +// Update_CountTryCheck - изменяет объект в БД по ID, присваивает CountTryCheck +func (m *Message) Update_CountTryCheck() error { + if Crud_Message == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Message.Update_CountTryCheck(m) + + return err +} + +// Update_CountTrySent - изменяет объект в БД по ID, присваивает CountTrySent +func (m *Message) Update_CountTrySent() error { + if Crud_Message == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Message.Update_CountTrySent(m) + + return err +} + +// Update_DeliveredAt - изменяет объект в БД по ID, присваивает DeliveredAt +func (m *Message) Update_DeliveredAt() error { + if Crud_Message == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Message.Update_DeliveredAt(m) + + return err +} + +// Update_DeliveryStatusID - изменяет объект в БД по ID, присваивает DeliveryStatusID +func (m *Message) Update_DeliveryStatusID() error { + if Crud_Message == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Message.Update_DeliveryStatusID(m) + + return err +} + +// Update_ExternalID - изменяет объект в БД по ID, присваивает ExternalID +func (m *Message) Update_ExternalID() error { + if Crud_Message == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Message.Update_ExternalID(m) + + return err +} + +// Update_FilialID - изменяет объект в БД по ID, присваивает FilialID +func (m *Message) Update_FilialID() error { + if Crud_Message == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Message.Update_FilialID(m) + + return err +} + +// Update_GateName - изменяет объект в БД по ID, присваивает GateName +func (m *Message) Update_GateName() error { + if Crud_Message == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Message.Update_GateName(m) + + return err +} + +// Update_IncomingEventID - изменяет объект в БД по ID, присваивает IncomingEventID +func (m *Message) Update_IncomingEventID() error { + if Crud_Message == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Message.Update_IncomingEventID(m) + + return err +} + +// Update_IsChecked - изменяет объект в БД по ID, присваивает IsChecked +func (m *Message) Update_IsChecked() error { + if Crud_Message == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Message.Update_IsChecked(m) + + return err +} + +// Update_IsOrganisationAcc - изменяет объект в БД по ID, присваивает IsOrganisationAcc +func (m *Message) Update_IsOrganisationAcc() error { + if Crud_Message == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Message.Update_IsOrganisationAcc(m) + + return err +} + +// Update_IsSent - изменяет объект в БД по ID, присваивает IsSent +func (m *Message) Update_IsSent() error { + if Crud_Message == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Message.Update_IsSent(m) + + return err +} + +// Update_MailingID - изменяет объект в БД по ID, присваивает MailingID +func (m *Message) Update_MailingID() error { + if Crud_Message == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Message.Update_MailingID(m) + + return err +} + +// Update_Msg - изменяет объект в БД по ID, присваивает Msg +func (m *Message) Update_Msg() error { + if Crud_Message == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Message.Update_Msg(m) + + return err +} + +// Update_PersonalAcc - изменяет объект в БД по ID, присваивает PersonalAcc +func (m *Message) Update_PersonalAcc() error { + if Crud_Message == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Message.Update_PersonalAcc(m) + + return err +} + +// Update_SendingStatus - изменяет объект в БД по ID, присваивает SendingStatus +func (m *Message) Update_SendingStatus() error { + if Crud_Message == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Message.Update_SendingStatus(m) + + return err +} + +// Update_Seq - изменяет объект в БД по ID, присваивает Seq +func (m *Message) Update_Seq() error { + if Crud_Message == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Message.Update_Seq(m) + + return err +} + +// Update_TryCheckAt - изменяет объект в БД по ID, присваивает TryCheckAt +func (m *Message) Update_TryCheckAt() error { + if Crud_Message == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Message.Update_TryCheckAt(m) + + return err +} + +// Update_TrySendAt - изменяет объект в БД по ID, присваивает TrySendAt +func (m *Message) Update_TrySendAt() error { + if Crud_Message == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Message.Update_TrySendAt(m) + + return err +} + +// Update_UserAddress - изменяет объект в БД по ID, присваивает UserAddress +func (m *Message) Update_UserAddress() error { + if Crud_Message == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Message.Update_UserAddress(m) + + return err +} + +// Update_UserID - изменяет объект в БД по ID, присваивает UserID +func (m *Message) Update_UserID() error { + if Crud_Message == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Message.Update_UserID(m) + + return err +} + +// Update_Utm - изменяет объект в БД по ID, присваивает Utm +func (m *Message) Update_Utm() error { + if Crud_Message == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Message.Update_Utm(m) + + return err +} diff --git a/bin/notifier_service/pkg/object_model/entities/meter_list/meter_list.go b/bin/notifier_service/pkg/object_model/entities/meter_list/meter_list.go new file mode 100644 index 0000000..be131f0 --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/meter_list/meter_list.go @@ -0,0 +1,10 @@ +package meter_list + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/tables/table_meter_list" +) + +// MeterList - модель для таблицы meter_list: +type MeterList struct { + table_meter_list.Table_MeterList +} diff --git a/bin/notifier_service/pkg/object_model/entities/meter_list/meter_list_crud.go b/bin/notifier_service/pkg/object_model/entities/meter_list/meter_list_crud.go new file mode 100644 index 0000000..af64244 --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/meter_list/meter_list_crud.go @@ -0,0 +1,179 @@ +//Файл создан автоматически кодогенератором crud_generator +//Не изменяйте ничего здесь. + +package meter_list + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/constants" + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/calc_struct_version" + "encoding/json" + "github.com/vmihailenco/msgpack/v5" + "reflect" +) + +// versionMeterList - версия структуры модели, с учётом имен и типов полей +var versionMeterList uint32 + +// Crud_MeterList - объект контроллер crud операций +var Crud_MeterList ICrud_MeterList + +// интерфейс стандартных CRUD операций, для использования в DB или GRPC или NRPC +type ICrud_MeterList interface { + Read(*MeterList) error + Save(*MeterList) error + Update(*MeterList) error + Create(*MeterList) error + ReadFromCache(ID int64) (MeterList, error) + UpdateManyFields(*MeterList, []string) error + Update_ContactInfo(*MeterList) error + Update_Flat(*MeterList) error + Update_House(*MeterList) error + Update_Locality(*MeterList) error + Update_Ls(*MeterList) error + Update_Plot(*MeterList) error + Update_Region(*MeterList) error + Update_Street(*MeterList) error +} + +// TableName - возвращает имя таблицы в БД +func (m MeterList) TableNameDB() string { + return "meter_list" +} + +// NewMeterList - возвращает новый объект +func NewMeterList() MeterList { + return MeterList{} +} + +// AsMeterList - создаёт объект из упакованного объекта в массиве байтов +func AsMeterList(b []byte) (MeterList, error) { + c := NewMeterList() + err := msgpack.Unmarshal(b, &c) + if err != nil { + return NewMeterList(), err + } + return c, nil +} + +// MeterListAsBytes - упаковывает объект в массив байтов +func MeterListAsBytes(m *MeterList) ([]byte, error) { + b, err := msgpack.Marshal(m) + if err != nil { + return nil, err + } + return b, nil +} + +// GetStructVersion - возвращает версию модели +func (m MeterList) GetStructVersion() uint32 { + if versionMeterList == 0 { + versionMeterList = calc_struct_version.CalcStructVersion(reflect.TypeOf(m)) + } + + return versionMeterList +} + +// GetModelFromJSON - создаёт модель из строки json +func (m *MeterList) GetModelFromJSON(sModel string) error { + var err error + + var bytes []byte + bytes = []byte(sModel) + + err = json.Unmarshal(bytes, m) + + return err +} + +// GetJSON - возвращает строку json из модели +func (m MeterList) GetJSON() (string, error) { + var ReturnVar string + var err error + + bytes, err := json.Marshal(m) + if err != nil { + return ReturnVar, err + } + ReturnVar = string(bytes) + return ReturnVar, err +} + +// ---------------------------- CRUD операции ------------------------------------------------------------ + +// Read - находит запись в БД по ID, и заполняет в объект +func (m *MeterList) Read() error { + if Crud_MeterList == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_MeterList.Read(m) + + return err +} + +// Save - записывает объект в БД по ID +func (m *MeterList) Save() error { + if Crud_MeterList == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_MeterList.Save(m) + + return err +} + +// Update - обновляет объект в БД по ID +func (m *MeterList) Update() error { + if Crud_MeterList == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_MeterList.Update(m) + + return err +} + +// Create - создаёт объект в БД с новым ID +func (m *MeterList) Create() error { + if Crud_MeterList == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_MeterList.Create(m) + + return err +} + +// ReadFromCache - находит запись в кэше или в БД по ID, и заполняет в объект +func (m *MeterList) ReadFromCache(ID int64) (MeterList, error) { + Otvet := MeterList{} + var err error + + if Crud_MeterList == nil { + return Otvet, constants.ErrorCrudIsNotInit + } + + Otvet, err = Crud_MeterList.ReadFromCache(ID) + + return Otvet, err +} + +// SetCrudInterface - заполняет интерфейс crud: DB, GRPC, NRPC +func (m MeterList) SetCrudInterface(crud ICrud_MeterList) { + Crud_MeterList = crud + + return +} + +// UpdateManyFields - находит запись в БД по ID, и изменяет только нужные колонки +func (m *MeterList) UpdateManyFields(MassNeedUpdateFields []string) error { + if Crud_MeterList == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_MeterList.UpdateManyFields(m, MassNeedUpdateFields) + + return err +} + +// ---------------------------- конец CRUD операции ------------------------------------------------------------ diff --git a/bin/notifier_service/pkg/object_model/entities/meter_list/meter_list_manual.go b/bin/notifier_service/pkg/object_model/entities/meter_list/meter_list_manual.go new file mode 100644 index 0000000..48f84d3 --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/meter_list/meter_list_manual.go @@ -0,0 +1,15 @@ +package meter_list + +// Crud_manual_MeterList - объект контроллер crud операций +var Crud_manual_MeterList ICrud_manual_MeterList + +// интерфейс CRUD операций сделанных вручную, для использования в DB или GRPC или NRPC +type ICrud_manual_MeterList interface { +} + +// SetCrudManualInterface - заполняет интерфейс crud: DB, GRPC, NRPC +func (m MeterList) SetCrudManualInterface(crud ICrud_manual_MeterList) { + Crud_manual_MeterList = crud + + return +} diff --git a/bin/notifier_service/pkg/object_model/entities/meter_list/meter_list_update.go b/bin/notifier_service/pkg/object_model/entities/meter_list/meter_list_update.go new file mode 100644 index 0000000..97d7897 --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/meter_list/meter_list_update.go @@ -0,0 +1,94 @@ +package meter_list + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/constants" + ) + + +// Update_ContactInfo - изменяет объект в БД по ID, присваивает ContactInfo +func (m *MeterList) Update_ContactInfo() error { + if Crud_MeterList == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_MeterList.Update_ContactInfo(m) + + return err +} + +// Update_Flat - изменяет объект в БД по ID, присваивает Flat +func (m *MeterList) Update_Flat() error { + if Crud_MeterList == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_MeterList.Update_Flat(m) + + return err +} + +// Update_House - изменяет объект в БД по ID, присваивает House +func (m *MeterList) Update_House() error { + if Crud_MeterList == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_MeterList.Update_House(m) + + return err +} + +// Update_Locality - изменяет объект в БД по ID, присваивает Locality +func (m *MeterList) Update_Locality() error { + if Crud_MeterList == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_MeterList.Update_Locality(m) + + return err +} + +// Update_Ls - изменяет объект в БД по ID, присваивает Ls +func (m *MeterList) Update_Ls() error { + if Crud_MeterList == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_MeterList.Update_Ls(m) + + return err +} + +// Update_Plot - изменяет объект в БД по ID, присваивает Plot +func (m *MeterList) Update_Plot() error { + if Crud_MeterList == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_MeterList.Update_Plot(m) + + return err +} + +// Update_Region - изменяет объект в БД по ID, присваивает Region +func (m *MeterList) Update_Region() error { + if Crud_MeterList == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_MeterList.Update_Region(m) + + return err +} + +// Update_Street - изменяет объект в БД по ID, присваивает Street +func (m *MeterList) Update_Street() error { + if Crud_MeterList == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_MeterList.Update_Street(m) + + return err +} diff --git a/bin/notifier_service/pkg/object_model/entities/pdf_data/pdf_data.go b/bin/notifier_service/pkg/object_model/entities/pdf_data/pdf_data.go new file mode 100644 index 0000000..aa7bc11 --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/pdf_data/pdf_data.go @@ -0,0 +1,10 @@ +package pdf_data + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/tables/table_pdf_data" +) + +// PdfDatum - модель для таблицы pdf_data: Данные из pdf файлов квитанций +type PdfDatum struct { + table_pdf_data.Table_PdfDatum +} diff --git a/bin/notifier_service/pkg/object_model/entities/pdf_data/pdf_data_crud.go b/bin/notifier_service/pkg/object_model/entities/pdf_data/pdf_data_crud.go new file mode 100644 index 0000000..ad0561c --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/pdf_data/pdf_data_crud.go @@ -0,0 +1,173 @@ +//Файл создан автоматически кодогенератором crud_generator +//Не изменяйте ничего здесь. + +package pdf_data + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/constants" + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/calc_struct_version" + "encoding/json" + "github.com/vmihailenco/msgpack/v5" + "reflect" +) + +// versionPdfDatum - версия структуры модели, с учётом имен и типов полей +var versionPdfDatum uint32 + +// Crud_PdfDatum - объект контроллер crud операций +var Crud_PdfDatum ICrud_PdfDatum + +// интерфейс стандартных CRUD операций, для использования в DB или GRPC или NRPC +type ICrud_PdfDatum interface { + Read(*PdfDatum) error + Save(*PdfDatum) error + Update(*PdfDatum) error + Create(*PdfDatum) error + ReadFromCache(ID int64) (PdfDatum, error) + UpdateManyFields(*PdfDatum, []string) error + Update_Msg(*PdfDatum) error + Update_PersonalAcc(*PdfDatum) error +} + +// TableName - возвращает имя таблицы в БД +func (m PdfDatum) TableNameDB() string { + return "pdf_data" +} + +// NewPdfDatum - возвращает новый объект +func NewPdfDatum() PdfDatum { + return PdfDatum{} +} + +// AsPdfDatum - создаёт объект из упакованного объекта в массиве байтов +func AsPdfDatum(b []byte) (PdfDatum, error) { + c := NewPdfDatum() + err := msgpack.Unmarshal(b, &c) + if err != nil { + return NewPdfDatum(), err + } + return c, nil +} + +// PdfDatumAsBytes - упаковывает объект в массив байтов +func PdfDatumAsBytes(m *PdfDatum) ([]byte, error) { + b, err := msgpack.Marshal(m) + if err != nil { + return nil, err + } + return b, nil +} + +// GetStructVersion - возвращает версию модели +func (m PdfDatum) GetStructVersion() uint32 { + if versionPdfDatum == 0 { + versionPdfDatum = calc_struct_version.CalcStructVersion(reflect.TypeOf(m)) + } + + return versionPdfDatum +} + +// GetModelFromJSON - создаёт модель из строки json +func (m *PdfDatum) GetModelFromJSON(sModel string) error { + var err error + + var bytes []byte + bytes = []byte(sModel) + + err = json.Unmarshal(bytes, m) + + return err +} + +// GetJSON - возвращает строку json из модели +func (m PdfDatum) GetJSON() (string, error) { + var ReturnVar string + var err error + + bytes, err := json.Marshal(m) + if err != nil { + return ReturnVar, err + } + ReturnVar = string(bytes) + return ReturnVar, err +} + +// ---------------------------- CRUD операции ------------------------------------------------------------ + +// Read - находит запись в БД по ID, и заполняет в объект +func (m *PdfDatum) Read() error { + if Crud_PdfDatum == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_PdfDatum.Read(m) + + return err +} + +// Save - записывает объект в БД по ID +func (m *PdfDatum) Save() error { + if Crud_PdfDatum == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_PdfDatum.Save(m) + + return err +} + +// Update - обновляет объект в БД по ID +func (m *PdfDatum) Update() error { + if Crud_PdfDatum == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_PdfDatum.Update(m) + + return err +} + +// Create - создаёт объект в БД с новым ID +func (m *PdfDatum) Create() error { + if Crud_PdfDatum == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_PdfDatum.Create(m) + + return err +} + +// ReadFromCache - находит запись в кэше или в БД по ID, и заполняет в объект +func (m *PdfDatum) ReadFromCache(ID int64) (PdfDatum, error) { + Otvet := PdfDatum{} + var err error + + if Crud_PdfDatum == nil { + return Otvet, constants.ErrorCrudIsNotInit + } + + Otvet, err = Crud_PdfDatum.ReadFromCache(ID) + + return Otvet, err +} + +// SetCrudInterface - заполняет интерфейс crud: DB, GRPC, NRPC +func (m PdfDatum) SetCrudInterface(crud ICrud_PdfDatum) { + Crud_PdfDatum = crud + + return +} + +// UpdateManyFields - находит запись в БД по ID, и изменяет только нужные колонки +func (m *PdfDatum) UpdateManyFields(MassNeedUpdateFields []string) error { + if Crud_PdfDatum == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_PdfDatum.UpdateManyFields(m, MassNeedUpdateFields) + + return err +} + +// ---------------------------- конец CRUD операции ------------------------------------------------------------ diff --git a/bin/notifier_service/pkg/object_model/entities/pdf_data/pdf_data_manual.go b/bin/notifier_service/pkg/object_model/entities/pdf_data/pdf_data_manual.go new file mode 100644 index 0000000..6d3ebec --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/pdf_data/pdf_data_manual.go @@ -0,0 +1,15 @@ +package pdf_data + +// Crud_manual_PdfDatum - объект контроллер crud операций +var Crud_manual_PdfDatum ICrud_manual_PdfDatum + +// интерфейс CRUD операций сделанных вручную, для использования в DB или GRPC или NRPC +type ICrud_manual_PdfDatum interface { +} + +// SetCrudManualInterface - заполняет интерфейс crud: DB, GRPC, NRPC +func (m PdfDatum) SetCrudManualInterface(crud ICrud_manual_PdfDatum) { + Crud_manual_PdfDatum = crud + + return +} diff --git a/bin/notifier_service/pkg/object_model/entities/pdf_data/pdf_data_update.go b/bin/notifier_service/pkg/object_model/entities/pdf_data/pdf_data_update.go new file mode 100644 index 0000000..8774bdc --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/pdf_data/pdf_data_update.go @@ -0,0 +1,28 @@ +package pdf_data + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/constants" + ) + + +// Update_Msg - изменяет объект в БД по ID, присваивает Msg +func (m *PdfDatum) Update_Msg() error { + if Crud_PdfDatum == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_PdfDatum.Update_Msg(m) + + return err +} + +// Update_PersonalAcc - изменяет объект в БД по ID, присваивает PersonalAcc +func (m *PdfDatum) Update_PersonalAcc() error { + if Crud_PdfDatum == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_PdfDatum.Update_PersonalAcc(m) + + return err +} diff --git a/bin/notifier_service/pkg/object_model/entities/redirect_store/redirect_store.go b/bin/notifier_service/pkg/object_model/entities/redirect_store/redirect_store.go new file mode 100644 index 0000000..4d9642d --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/redirect_store/redirect_store.go @@ -0,0 +1,10 @@ +package redirect_store + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/tables/table_redirect_store" +) + +// RedirectStore - модель для таблицы redirect_store: Таблица нужна для отслеживания переходов по магазинам мобильных приложений. Сервис при переходе в конкретный магазин добавляет запись в таблицу. +type RedirectStore struct { + table_redirect_store.Table_RedirectStore +} diff --git a/bin/notifier_service/pkg/object_model/entities/redirect_store/redirect_store_crud.go b/bin/notifier_service/pkg/object_model/entities/redirect_store/redirect_store_crud.go new file mode 100644 index 0000000..7bfd002 --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/redirect_store/redirect_store_crud.go @@ -0,0 +1,173 @@ +//Файл создан автоматически кодогенератором crud_generator +//Не изменяйте ничего здесь. + +package redirect_store + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/constants" + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/calc_struct_version" + "encoding/json" + "github.com/vmihailenco/msgpack/v5" + "reflect" +) + +// versionRedirectStore - версия структуры модели, с учётом имен и типов полей +var versionRedirectStore uint32 + +// Crud_RedirectStore - объект контроллер crud операций +var Crud_RedirectStore ICrud_RedirectStore + +// интерфейс стандартных CRUD операций, для использования в DB или GRPC или NRPC +type ICrud_RedirectStore interface { + Read(*RedirectStore) error + Save(*RedirectStore) error + Update(*RedirectStore) error + Create(*RedirectStore) error + ReadFromCache(ID int64) (RedirectStore, error) + UpdateManyFields(*RedirectStore, []string) error + Update_Utm(*RedirectStore) error + Update_Store(*RedirectStore) error +} + +// TableName - возвращает имя таблицы в БД +func (m RedirectStore) TableNameDB() string { + return "redirect_store" +} + +// NewRedirectStore - возвращает новый объект +func NewRedirectStore() RedirectStore { + return RedirectStore{} +} + +// AsRedirectStore - создаёт объект из упакованного объекта в массиве байтов +func AsRedirectStore(b []byte) (RedirectStore, error) { + c := NewRedirectStore() + err := msgpack.Unmarshal(b, &c) + if err != nil { + return NewRedirectStore(), err + } + return c, nil +} + +// RedirectStoreAsBytes - упаковывает объект в массив байтов +func RedirectStoreAsBytes(m *RedirectStore) ([]byte, error) { + b, err := msgpack.Marshal(m) + if err != nil { + return nil, err + } + return b, nil +} + +// GetStructVersion - возвращает версию модели +func (m RedirectStore) GetStructVersion() uint32 { + if versionRedirectStore == 0 { + versionRedirectStore = calc_struct_version.CalcStructVersion(reflect.TypeOf(m)) + } + + return versionRedirectStore +} + +// GetModelFromJSON - создаёт модель из строки json +func (m *RedirectStore) GetModelFromJSON(sModel string) error { + var err error + + var bytes []byte + bytes = []byte(sModel) + + err = json.Unmarshal(bytes, m) + + return err +} + +// GetJSON - возвращает строку json из модели +func (m RedirectStore) GetJSON() (string, error) { + var ReturnVar string + var err error + + bytes, err := json.Marshal(m) + if err != nil { + return ReturnVar, err + } + ReturnVar = string(bytes) + return ReturnVar, err +} + +// ---------------------------- CRUD операции ------------------------------------------------------------ + +// Read - находит запись в БД по ID, и заполняет в объект +func (m *RedirectStore) Read() error { + if Crud_RedirectStore == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_RedirectStore.Read(m) + + return err +} + +// Save - записывает объект в БД по ID +func (m *RedirectStore) Save() error { + if Crud_RedirectStore == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_RedirectStore.Save(m) + + return err +} + +// Update - обновляет объект в БД по ID +func (m *RedirectStore) Update() error { + if Crud_RedirectStore == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_RedirectStore.Update(m) + + return err +} + +// Create - создаёт объект в БД с новым ID +func (m *RedirectStore) Create() error { + if Crud_RedirectStore == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_RedirectStore.Create(m) + + return err +} + +// ReadFromCache - находит запись в кэше или в БД по ID, и заполняет в объект +func (m *RedirectStore) ReadFromCache(ID int64) (RedirectStore, error) { + Otvet := RedirectStore{} + var err error + + if Crud_RedirectStore == nil { + return Otvet, constants.ErrorCrudIsNotInit + } + + Otvet, err = Crud_RedirectStore.ReadFromCache(ID) + + return Otvet, err +} + +// SetCrudInterface - заполняет интерфейс crud: DB, GRPC, NRPC +func (m RedirectStore) SetCrudInterface(crud ICrud_RedirectStore) { + Crud_RedirectStore = crud + + return +} + +// UpdateManyFields - находит запись в БД по ID, и изменяет только нужные колонки +func (m *RedirectStore) UpdateManyFields(MassNeedUpdateFields []string) error { + if Crud_RedirectStore == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_RedirectStore.UpdateManyFields(m, MassNeedUpdateFields) + + return err +} + +// ---------------------------- конец CRUD операции ------------------------------------------------------------ diff --git a/bin/notifier_service/pkg/object_model/entities/redirect_store/redirect_store_manual.go b/bin/notifier_service/pkg/object_model/entities/redirect_store/redirect_store_manual.go new file mode 100644 index 0000000..0881fe7 --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/redirect_store/redirect_store_manual.go @@ -0,0 +1,15 @@ +package redirect_store + +// Crud_manual_RedirectStore - объект контроллер crud операций +var Crud_manual_RedirectStore ICrud_manual_RedirectStore + +// интерфейс CRUD операций сделанных вручную, для использования в DB или GRPC или NRPC +type ICrud_manual_RedirectStore interface { +} + +// SetCrudManualInterface - заполняет интерфейс crud: DB, GRPC, NRPC +func (m RedirectStore) SetCrudManualInterface(crud ICrud_manual_RedirectStore) { + Crud_manual_RedirectStore = crud + + return +} diff --git a/bin/notifier_service/pkg/object_model/entities/redirect_store/redirect_store_update.go b/bin/notifier_service/pkg/object_model/entities/redirect_store/redirect_store_update.go new file mode 100644 index 0000000..0d12ab9 --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/redirect_store/redirect_store_update.go @@ -0,0 +1,28 @@ +package redirect_store + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/constants" + ) + + +// Update_Utm - изменяет объект в БД по ID, присваивает Utm +func (m *RedirectStore) Update_Utm() error { + if Crud_RedirectStore == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_RedirectStore.Update_Utm(m) + + return err +} + +// Update_Store - изменяет объект в БД по ID, присваивает Store +func (m *RedirectStore) Update_Store() error { + if Crud_RedirectStore == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_RedirectStore.Update_Store(m) + + return err +} diff --git a/bin/notifier_service/pkg/object_model/entities/short_links/short_links.go b/bin/notifier_service/pkg/object_model/entities/short_links/short_links.go new file mode 100644 index 0000000..4dc64b2 --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/short_links/short_links.go @@ -0,0 +1,10 @@ +package short_links + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/tables/table_short_links" +) + +// ShortLink - модель для таблицы short_links: Таблица для сервиса коротких ссылок. Хранит связь между короткой ссылкой и длинной, дополнительно ведёт статистику по кол-ву переходов и времени последнего перехода. +type ShortLink struct { + table_short_links.Table_ShortLink +} diff --git a/bin/notifier_service/pkg/object_model/entities/short_links/short_links_crud.go b/bin/notifier_service/pkg/object_model/entities/short_links/short_links_crud.go new file mode 100644 index 0000000..ad50508 --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/short_links/short_links_crud.go @@ -0,0 +1,177 @@ +//Файл создан автоматически кодогенератором crud_generator +//Не изменяйте ничего здесь. + +package short_links + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/constants" + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/calc_struct_version" + "encoding/json" + "github.com/vmihailenco/msgpack/v5" + "reflect" +) + +// versionShortLink - версия структуры модели, с учётом имен и типов полей +var versionShortLink uint32 + +// Crud_ShortLink - объект контроллер crud операций +var Crud_ShortLink ICrud_ShortLink + +// интерфейс стандартных CRUD операций, для использования в DB или GRPC или NRPC +type ICrud_ShortLink interface { + Read(*ShortLink) error + Save(*ShortLink) error + Update(*ShortLink) error + Create(*ShortLink) error + ReadFromCache(ID int64) (ShortLink, error) + UpdateManyFields(*ShortLink, []string) error + Update_CountRedirect(*ShortLink) error + Update_IsActive(*ShortLink) error + Update_LinkLong(*ShortLink) error + Update_LinkShort(*ShortLink) error + Update_Name(*ShortLink) error + Update_RedirectedAt(*ShortLink) error +} + +// TableName - возвращает имя таблицы в БД +func (m ShortLink) TableNameDB() string { + return "short_links" +} + +// NewShortLink - возвращает новый объект +func NewShortLink() ShortLink { + return ShortLink{} +} + +// AsShortLink - создаёт объект из упакованного объекта в массиве байтов +func AsShortLink(b []byte) (ShortLink, error) { + c := NewShortLink() + err := msgpack.Unmarshal(b, &c) + if err != nil { + return NewShortLink(), err + } + return c, nil +} + +// ShortLinkAsBytes - упаковывает объект в массив байтов +func ShortLinkAsBytes(m *ShortLink) ([]byte, error) { + b, err := msgpack.Marshal(m) + if err != nil { + return nil, err + } + return b, nil +} + +// GetStructVersion - возвращает версию модели +func (m ShortLink) GetStructVersion() uint32 { + if versionShortLink == 0 { + versionShortLink = calc_struct_version.CalcStructVersion(reflect.TypeOf(m)) + } + + return versionShortLink +} + +// GetModelFromJSON - создаёт модель из строки json +func (m *ShortLink) GetModelFromJSON(sModel string) error { + var err error + + var bytes []byte + bytes = []byte(sModel) + + err = json.Unmarshal(bytes, m) + + return err +} + +// GetJSON - возвращает строку json из модели +func (m ShortLink) GetJSON() (string, error) { + var ReturnVar string + var err error + + bytes, err := json.Marshal(m) + if err != nil { + return ReturnVar, err + } + ReturnVar = string(bytes) + return ReturnVar, err +} + +// ---------------------------- CRUD операции ------------------------------------------------------------ + +// Read - находит запись в БД по ID, и заполняет в объект +func (m *ShortLink) Read() error { + if Crud_ShortLink == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_ShortLink.Read(m) + + return err +} + +// Save - записывает объект в БД по ID +func (m *ShortLink) Save() error { + if Crud_ShortLink == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_ShortLink.Save(m) + + return err +} + +// Update - обновляет объект в БД по ID +func (m *ShortLink) Update() error { + if Crud_ShortLink == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_ShortLink.Update(m) + + return err +} + +// Create - создаёт объект в БД с новым ID +func (m *ShortLink) Create() error { + if Crud_ShortLink == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_ShortLink.Create(m) + + return err +} + +// ReadFromCache - находит запись в кэше или в БД по ID, и заполняет в объект +func (m *ShortLink) ReadFromCache(ID int64) (ShortLink, error) { + Otvet := ShortLink{} + var err error + + if Crud_ShortLink == nil { + return Otvet, constants.ErrorCrudIsNotInit + } + + Otvet, err = Crud_ShortLink.ReadFromCache(ID) + + return Otvet, err +} + +// SetCrudInterface - заполняет интерфейс crud: DB, GRPC, NRPC +func (m ShortLink) SetCrudInterface(crud ICrud_ShortLink) { + Crud_ShortLink = crud + + return +} + +// UpdateManyFields - находит запись в БД по ID, и изменяет только нужные колонки +func (m *ShortLink) UpdateManyFields(MassNeedUpdateFields []string) error { + if Crud_ShortLink == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_ShortLink.UpdateManyFields(m, MassNeedUpdateFields) + + return err +} + +// ---------------------------- конец CRUD операции ------------------------------------------------------------ diff --git a/bin/notifier_service/pkg/object_model/entities/short_links/short_links_manual.go b/bin/notifier_service/pkg/object_model/entities/short_links/short_links_manual.go new file mode 100644 index 0000000..f69b6bf --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/short_links/short_links_manual.go @@ -0,0 +1,15 @@ +package short_links + +// Crud_manual_ShortLink - объект контроллер crud операций +var Crud_manual_ShortLink ICrud_manual_ShortLink + +// интерфейс CRUD операций сделанных вручную, для использования в DB или GRPC или NRPC +type ICrud_manual_ShortLink interface { +} + +// SetCrudManualInterface - заполняет интерфейс crud: DB, GRPC, NRPC +func (m ShortLink) SetCrudManualInterface(crud ICrud_manual_ShortLink) { + Crud_manual_ShortLink = crud + + return +} diff --git a/bin/notifier_service/pkg/object_model/entities/short_links/short_links_update.go b/bin/notifier_service/pkg/object_model/entities/short_links/short_links_update.go new file mode 100644 index 0000000..3ec8814 --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/short_links/short_links_update.go @@ -0,0 +1,72 @@ +package short_links + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/constants" + ) + + +// Update_CountRedirect - изменяет объект в БД по ID, присваивает CountRedirect +func (m *ShortLink) Update_CountRedirect() error { + if Crud_ShortLink == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_ShortLink.Update_CountRedirect(m) + + return err +} + +// Update_IsActive - изменяет объект в БД по ID, присваивает IsActive +func (m *ShortLink) Update_IsActive() error { + if Crud_ShortLink == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_ShortLink.Update_IsActive(m) + + return err +} + +// Update_LinkLong - изменяет объект в БД по ID, присваивает LinkLong +func (m *ShortLink) Update_LinkLong() error { + if Crud_ShortLink == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_ShortLink.Update_LinkLong(m) + + return err +} + +// Update_LinkShort - изменяет объект в БД по ID, присваивает LinkShort +func (m *ShortLink) Update_LinkShort() error { + if Crud_ShortLink == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_ShortLink.Update_LinkShort(m) + + return err +} + +// Update_Name - изменяет объект в БД по ID, присваивает Name +func (m *ShortLink) Update_Name() error { + if Crud_ShortLink == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_ShortLink.Update_Name(m) + + return err +} + +// Update_RedirectedAt - изменяет объект в БД по ID, присваивает RedirectedAt +func (m *ShortLink) Update_RedirectedAt() error { + if Crud_ShortLink == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_ShortLink.Update_RedirectedAt(m) + + return err +} diff --git a/bin/notifier_service/pkg/object_model/entities/statistic/statistic.go b/bin/notifier_service/pkg/object_model/entities/statistic/statistic.go new file mode 100644 index 0000000..2c58af1 --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/statistic/statistic.go @@ -0,0 +1,10 @@ +package statistic + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/tables/table_statistic" +) + +// Statistic - модель для таблицы statistic: +type Statistic struct { + table_statistic.Table_Statistic +} diff --git a/bin/notifier_service/pkg/object_model/entities/statistic/statistic_crud.go b/bin/notifier_service/pkg/object_model/entities/statistic/statistic_crud.go new file mode 100644 index 0000000..8c8d121 --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/statistic/statistic_crud.go @@ -0,0 +1,184 @@ +//Файл создан автоматически кодогенератором crud_generator +//Не изменяйте ничего здесь. + +package statistic + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/constants" + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/calc_struct_version" + "encoding/json" + "github.com/vmihailenco/msgpack/v5" + "reflect" +) + +// versionStatistic - версия структуры модели, с учётом имен и типов полей +var versionStatistic uint32 + +// Crud_Statistic - объект контроллер crud операций +var Crud_Statistic ICrud_Statistic + +// интерфейс стандартных CRUD операций, для использования в DB или GRPC или NRPC +type ICrud_Statistic interface { + Read(*Statistic) error + Save(*Statistic) error + Update(*Statistic) error + Create(*Statistic) error + ReadFromCache(ID int64) (Statistic, error) + UpdateManyFields(*Statistic, []string) error + Update_FilialIds(*Statistic) error + Update_LastUpdate(*Statistic) error + Update_MailingChannelID(*Statistic) error + Update_MailingCode(*Statistic) error + Update_MailingEnd(*Statistic) error + Update_MailingID(*Statistic) error + Update_MailingStart(*Statistic) error + Update_MailingStatus(*Statistic) error + Update_MessagesDelivered(*Statistic) error + Update_MessagesSent(*Statistic) error + Update_MessagesTotal(*Statistic) error + Update_MessagesUndelivered(*Statistic) error + Update_MessagesUnsent(*Statistic) error +} + +// TableName - возвращает имя таблицы в БД +func (m Statistic) TableNameDB() string { + return "statistic" +} + +// NewStatistic - возвращает новый объект +func NewStatistic() Statistic { + return Statistic{} +} + +// AsStatistic - создаёт объект из упакованного объекта в массиве байтов +func AsStatistic(b []byte) (Statistic, error) { + c := NewStatistic() + err := msgpack.Unmarshal(b, &c) + if err != nil { + return NewStatistic(), err + } + return c, nil +} + +// StatisticAsBytes - упаковывает объект в массив байтов +func StatisticAsBytes(m *Statistic) ([]byte, error) { + b, err := msgpack.Marshal(m) + if err != nil { + return nil, err + } + return b, nil +} + +// GetStructVersion - возвращает версию модели +func (m Statistic) GetStructVersion() uint32 { + if versionStatistic == 0 { + versionStatistic = calc_struct_version.CalcStructVersion(reflect.TypeOf(m)) + } + + return versionStatistic +} + +// GetModelFromJSON - создаёт модель из строки json +func (m *Statistic) GetModelFromJSON(sModel string) error { + var err error + + var bytes []byte + bytes = []byte(sModel) + + err = json.Unmarshal(bytes, m) + + return err +} + +// GetJSON - возвращает строку json из модели +func (m Statistic) GetJSON() (string, error) { + var ReturnVar string + var err error + + bytes, err := json.Marshal(m) + if err != nil { + return ReturnVar, err + } + ReturnVar = string(bytes) + return ReturnVar, err +} + +// ---------------------------- CRUD операции ------------------------------------------------------------ + +// Read - находит запись в БД по ID, и заполняет в объект +func (m *Statistic) Read() error { + if Crud_Statistic == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Statistic.Read(m) + + return err +} + +// Save - записывает объект в БД по ID +func (m *Statistic) Save() error { + if Crud_Statistic == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Statistic.Save(m) + + return err +} + +// Update - обновляет объект в БД по ID +func (m *Statistic) Update() error { + if Crud_Statistic == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Statistic.Update(m) + + return err +} + +// Create - создаёт объект в БД с новым ID +func (m *Statistic) Create() error { + if Crud_Statistic == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Statistic.Create(m) + + return err +} + +// ReadFromCache - находит запись в кэше или в БД по ID, и заполняет в объект +func (m *Statistic) ReadFromCache(ID int64) (Statistic, error) { + Otvet := Statistic{} + var err error + + if Crud_Statistic == nil { + return Otvet, constants.ErrorCrudIsNotInit + } + + Otvet, err = Crud_Statistic.ReadFromCache(ID) + + return Otvet, err +} + +// SetCrudInterface - заполняет интерфейс crud: DB, GRPC, NRPC +func (m Statistic) SetCrudInterface(crud ICrud_Statistic) { + Crud_Statistic = crud + + return +} + +// UpdateManyFields - находит запись в БД по ID, и изменяет только нужные колонки +func (m *Statistic) UpdateManyFields(MassNeedUpdateFields []string) error { + if Crud_Statistic == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Statistic.UpdateManyFields(m, MassNeedUpdateFields) + + return err +} + +// ---------------------------- конец CRUD операции ------------------------------------------------------------ diff --git a/bin/notifier_service/pkg/object_model/entities/statistic/statistic_manual.go b/bin/notifier_service/pkg/object_model/entities/statistic/statistic_manual.go new file mode 100644 index 0000000..336caee --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/statistic/statistic_manual.go @@ -0,0 +1,15 @@ +package statistic + +// Crud_manual_Statistic - объект контроллер crud операций +var Crud_manual_Statistic ICrud_manual_Statistic + +// интерфейс CRUD операций сделанных вручную, для использования в DB или GRPC или NRPC +type ICrud_manual_Statistic interface { +} + +// SetCrudManualInterface - заполняет интерфейс crud: DB, GRPC, NRPC +func (m Statistic) SetCrudManualInterface(crud ICrud_manual_Statistic) { + Crud_manual_Statistic = crud + + return +} diff --git a/bin/notifier_service/pkg/object_model/entities/statistic/statistic_update.go b/bin/notifier_service/pkg/object_model/entities/statistic/statistic_update.go new file mode 100644 index 0000000..0008949 --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/statistic/statistic_update.go @@ -0,0 +1,149 @@ +package statistic + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/constants" + ) + + +// Update_FilialIds - изменяет объект в БД по ID, присваивает FilialIds +func (m *Statistic) Update_FilialIds() error { + if Crud_Statistic == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Statistic.Update_FilialIds(m) + + return err +} + +// Update_LastUpdate - изменяет объект в БД по ID, присваивает LastUpdate +func (m *Statistic) Update_LastUpdate() error { + if Crud_Statistic == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Statistic.Update_LastUpdate(m) + + return err +} + +// Update_MailingChannelID - изменяет объект в БД по ID, присваивает MailingChannelID +func (m *Statistic) Update_MailingChannelID() error { + if Crud_Statistic == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Statistic.Update_MailingChannelID(m) + + return err +} + +// Update_MailingCode - изменяет объект в БД по ID, присваивает MailingCode +func (m *Statistic) Update_MailingCode() error { + if Crud_Statistic == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Statistic.Update_MailingCode(m) + + return err +} + +// Update_MailingEnd - изменяет объект в БД по ID, присваивает MailingEnd +func (m *Statistic) Update_MailingEnd() error { + if Crud_Statistic == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Statistic.Update_MailingEnd(m) + + return err +} + +// Update_MailingID - изменяет объект в БД по ID, присваивает MailingID +func (m *Statistic) Update_MailingID() error { + if Crud_Statistic == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Statistic.Update_MailingID(m) + + return err +} + +// Update_MailingStart - изменяет объект в БД по ID, присваивает MailingStart +func (m *Statistic) Update_MailingStart() error { + if Crud_Statistic == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Statistic.Update_MailingStart(m) + + return err +} + +// Update_MailingStatus - изменяет объект в БД по ID, присваивает MailingStatus +func (m *Statistic) Update_MailingStatus() error { + if Crud_Statistic == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Statistic.Update_MailingStatus(m) + + return err +} + +// Update_MessagesDelivered - изменяет объект в БД по ID, присваивает MessagesDelivered +func (m *Statistic) Update_MessagesDelivered() error { + if Crud_Statistic == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Statistic.Update_MessagesDelivered(m) + + return err +} + +// Update_MessagesSent - изменяет объект в БД по ID, присваивает MessagesSent +func (m *Statistic) Update_MessagesSent() error { + if Crud_Statistic == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Statistic.Update_MessagesSent(m) + + return err +} + +// Update_MessagesTotal - изменяет объект в БД по ID, присваивает MessagesTotal +func (m *Statistic) Update_MessagesTotal() error { + if Crud_Statistic == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Statistic.Update_MessagesTotal(m) + + return err +} + +// Update_MessagesUndelivered - изменяет объект в БД по ID, присваивает MessagesUndelivered +func (m *Statistic) Update_MessagesUndelivered() error { + if Crud_Statistic == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Statistic.Update_MessagesUndelivered(m) + + return err +} + +// Update_MessagesUnsent - изменяет объект в БД по ID, присваивает MessagesUnsent +func (m *Statistic) Update_MessagesUnsent() error { + if Crud_Statistic == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Statistic.Update_MessagesUnsent(m) + + return err +} diff --git a/bin/notifier_service/pkg/object_model/entities/telegram_users/telegram_users.go b/bin/notifier_service/pkg/object_model/entities/telegram_users/telegram_users.go new file mode 100644 index 0000000..8733689 --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/telegram_users/telegram_users.go @@ -0,0 +1,10 @@ +package telegram_users + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/tables/table_telegram_users" +) + +// TelegramUser - модель для таблицы telegram_users: Table for users chatID and phone numbers +type TelegramUser struct { + table_telegram_users.Table_TelegramUser +} diff --git a/bin/notifier_service/pkg/object_model/entities/telegram_users/telegram_users_crud.go b/bin/notifier_service/pkg/object_model/entities/telegram_users/telegram_users_crud.go new file mode 100644 index 0000000..91736bd --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/telegram_users/telegram_users_crud.go @@ -0,0 +1,180 @@ +//Файл создан автоматически кодогенератором crud_generator +//Не изменяйте ничего здесь. + +package telegram_users + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/constants" + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/calc_struct_version" + "encoding/json" + "github.com/vmihailenco/msgpack/v5" + "reflect" +) + +// versionTelegramUser - версия структуры модели, с учётом имен и типов полей +var versionTelegramUser uint32 + +// Crud_TelegramUser - объект контроллер crud операций +var Crud_TelegramUser ICrud_TelegramUser + +// интерфейс стандартных CRUD операций, для использования в DB или GRPC или NRPC +type ICrud_TelegramUser interface { + Read(*TelegramUser) error + Save(*TelegramUser) error + Update(*TelegramUser) error + Create(*TelegramUser) error + ReadFromCache(ID int64) (TelegramUser, error) + UpdateManyFields(*TelegramUser, []string) error + Update_AllowedBillNotify(*TelegramUser) error + Update_AllowedDebtNotify(*TelegramUser) error + Update_AllowedMeterNotify(*TelegramUser) error + Update_AllowedMiscNotify(*TelegramUser) error + Update_BlockedByUser(*TelegramUser) error + Update_ChatID(*TelegramUser) error + Update_ContactInfo(*TelegramUser) error + Update_DateStatusChanged(*TelegramUser) error + Update_IsTester(*TelegramUser) error +} + +// TableName - возвращает имя таблицы в БД +func (m TelegramUser) TableNameDB() string { + return "telegram_users" +} + +// NewTelegramUser - возвращает новый объект +func NewTelegramUser() TelegramUser { + return TelegramUser{} +} + +// AsTelegramUser - создаёт объект из упакованного объекта в массиве байтов +func AsTelegramUser(b []byte) (TelegramUser, error) { + c := NewTelegramUser() + err := msgpack.Unmarshal(b, &c) + if err != nil { + return NewTelegramUser(), err + } + return c, nil +} + +// TelegramUserAsBytes - упаковывает объект в массив байтов +func TelegramUserAsBytes(m *TelegramUser) ([]byte, error) { + b, err := msgpack.Marshal(m) + if err != nil { + return nil, err + } + return b, nil +} + +// GetStructVersion - возвращает версию модели +func (m TelegramUser) GetStructVersion() uint32 { + if versionTelegramUser == 0 { + versionTelegramUser = calc_struct_version.CalcStructVersion(reflect.TypeOf(m)) + } + + return versionTelegramUser +} + +// GetModelFromJSON - создаёт модель из строки json +func (m *TelegramUser) GetModelFromJSON(sModel string) error { + var err error + + var bytes []byte + bytes = []byte(sModel) + + err = json.Unmarshal(bytes, m) + + return err +} + +// GetJSON - возвращает строку json из модели +func (m TelegramUser) GetJSON() (string, error) { + var ReturnVar string + var err error + + bytes, err := json.Marshal(m) + if err != nil { + return ReturnVar, err + } + ReturnVar = string(bytes) + return ReturnVar, err +} + +// ---------------------------- CRUD операции ------------------------------------------------------------ + +// Read - находит запись в БД по ID, и заполняет в объект +func (m *TelegramUser) Read() error { + if Crud_TelegramUser == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_TelegramUser.Read(m) + + return err +} + +// Save - записывает объект в БД по ID +func (m *TelegramUser) Save() error { + if Crud_TelegramUser == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_TelegramUser.Save(m) + + return err +} + +// Update - обновляет объект в БД по ID +func (m *TelegramUser) Update() error { + if Crud_TelegramUser == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_TelegramUser.Update(m) + + return err +} + +// Create - создаёт объект в БД с новым ID +func (m *TelegramUser) Create() error { + if Crud_TelegramUser == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_TelegramUser.Create(m) + + return err +} + +// ReadFromCache - находит запись в кэше или в БД по ID, и заполняет в объект +func (m *TelegramUser) ReadFromCache(ID int64) (TelegramUser, error) { + Otvet := TelegramUser{} + var err error + + if Crud_TelegramUser == nil { + return Otvet, constants.ErrorCrudIsNotInit + } + + Otvet, err = Crud_TelegramUser.ReadFromCache(ID) + + return Otvet, err +} + +// SetCrudInterface - заполняет интерфейс crud: DB, GRPC, NRPC +func (m TelegramUser) SetCrudInterface(crud ICrud_TelegramUser) { + Crud_TelegramUser = crud + + return +} + +// UpdateManyFields - находит запись в БД по ID, и изменяет только нужные колонки +func (m *TelegramUser) UpdateManyFields(MassNeedUpdateFields []string) error { + if Crud_TelegramUser == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_TelegramUser.UpdateManyFields(m, MassNeedUpdateFields) + + return err +} + +// ---------------------------- конец CRUD операции ------------------------------------------------------------ diff --git a/bin/notifier_service/pkg/object_model/entities/telegram_users/telegram_users_manual.go b/bin/notifier_service/pkg/object_model/entities/telegram_users/telegram_users_manual.go new file mode 100644 index 0000000..2c3c40e --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/telegram_users/telegram_users_manual.go @@ -0,0 +1,15 @@ +package telegram_users + +// Crud_manual_TelegramUser - объект контроллер crud операций +var Crud_manual_TelegramUser ICrud_manual_TelegramUser + +// интерфейс CRUD операций сделанных вручную, для использования в DB или GRPC или NRPC +type ICrud_manual_TelegramUser interface { +} + +// SetCrudManualInterface - заполняет интерфейс crud: DB, GRPC, NRPC +func (m TelegramUser) SetCrudManualInterface(crud ICrud_manual_TelegramUser) { + Crud_manual_TelegramUser = crud + + return +} diff --git a/bin/notifier_service/pkg/object_model/entities/telegram_users/telegram_users_update.go b/bin/notifier_service/pkg/object_model/entities/telegram_users/telegram_users_update.go new file mode 100644 index 0000000..bf5a5e8 --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/telegram_users/telegram_users_update.go @@ -0,0 +1,105 @@ +package telegram_users + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/constants" + ) + + +// Update_AllowedBillNotify - изменяет объект в БД по ID, присваивает AllowedBillNotify +func (m *TelegramUser) Update_AllowedBillNotify() error { + if Crud_TelegramUser == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_TelegramUser.Update_AllowedBillNotify(m) + + return err +} + +// Update_AllowedDebtNotify - изменяет объект в БД по ID, присваивает AllowedDebtNotify +func (m *TelegramUser) Update_AllowedDebtNotify() error { + if Crud_TelegramUser == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_TelegramUser.Update_AllowedDebtNotify(m) + + return err +} + +// Update_AllowedMeterNotify - изменяет объект в БД по ID, присваивает AllowedMeterNotify +func (m *TelegramUser) Update_AllowedMeterNotify() error { + if Crud_TelegramUser == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_TelegramUser.Update_AllowedMeterNotify(m) + + return err +} + +// Update_AllowedMiscNotify - изменяет объект в БД по ID, присваивает AllowedMiscNotify +func (m *TelegramUser) Update_AllowedMiscNotify() error { + if Crud_TelegramUser == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_TelegramUser.Update_AllowedMiscNotify(m) + + return err +} + +// Update_BlockedByUser - изменяет объект в БД по ID, присваивает BlockedByUser +func (m *TelegramUser) Update_BlockedByUser() error { + if Crud_TelegramUser == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_TelegramUser.Update_BlockedByUser(m) + + return err +} + +// Update_ChatID - изменяет объект в БД по ID, присваивает ChatID +func (m *TelegramUser) Update_ChatID() error { + if Crud_TelegramUser == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_TelegramUser.Update_ChatID(m) + + return err +} + +// Update_ContactInfo - изменяет объект в БД по ID, присваивает ContactInfo +func (m *TelegramUser) Update_ContactInfo() error { + if Crud_TelegramUser == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_TelegramUser.Update_ContactInfo(m) + + return err +} + +// Update_DateStatusChanged - изменяет объект в БД по ID, присваивает DateStatusChanged +func (m *TelegramUser) Update_DateStatusChanged() error { + if Crud_TelegramUser == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_TelegramUser.Update_DateStatusChanged(m) + + return err +} + +// Update_IsTester - изменяет объект в БД по ID, присваивает IsTester +func (m *TelegramUser) Update_IsTester() error { + if Crud_TelegramUser == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_TelegramUser.Update_IsTester(m) + + return err +} diff --git a/bin/notifier_service/pkg/object_model/entities/telegram_users_info/telegram_users_info.go b/bin/notifier_service/pkg/object_model/entities/telegram_users_info/telegram_users_info.go new file mode 100644 index 0000000..78211fa --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/telegram_users_info/telegram_users_info.go @@ -0,0 +1,10 @@ +package telegram_users_info + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/tables/table_telegram_users_info" +) + +// TelegramUsersInfo - модель для таблицы telegram_users_info: +type TelegramUsersInfo struct { + table_telegram_users_info.Table_TelegramUsersInfo +} diff --git a/bin/notifier_service/pkg/object_model/entities/telegram_users_info/telegram_users_info_crud.go b/bin/notifier_service/pkg/object_model/entities/telegram_users_info/telegram_users_info_crud.go new file mode 100644 index 0000000..ada6e47 --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/telegram_users_info/telegram_users_info_crud.go @@ -0,0 +1,175 @@ +//Файл создан автоматически кодогенератором crud_generator +//Не изменяйте ничего здесь. + +package telegram_users_info + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/constants" + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/calc_struct_version" + "encoding/json" + "github.com/vmihailenco/msgpack/v5" + "reflect" +) + +// versionTelegramUsersInfo - версия структуры модели, с учётом имен и типов полей +var versionTelegramUsersInfo uint32 + +// Crud_TelegramUsersInfo - объект контроллер crud операций +var Crud_TelegramUsersInfo ICrud_TelegramUsersInfo + +// интерфейс стандартных CRUD операций, для использования в DB или GRPC или NRPC +type ICrud_TelegramUsersInfo interface { + Read(*TelegramUsersInfo) error + Save(*TelegramUsersInfo) error + Update(*TelegramUsersInfo) error + Create(*TelegramUsersInfo) error + ReadFromCache(ID int64) (TelegramUsersInfo, error) + UpdateManyFields(*TelegramUsersInfo, []string) error + Update_Address(*TelegramUsersInfo) error + Update_ChatID(*TelegramUsersInfo) error + Update_IsChecked(*TelegramUsersInfo) error + Update_PersAcc(*TelegramUsersInfo) error +} + +// TableName - возвращает имя таблицы в БД +func (m TelegramUsersInfo) TableNameDB() string { + return "telegram_users_info" +} + +// NewTelegramUsersInfo - возвращает новый объект +func NewTelegramUsersInfo() TelegramUsersInfo { + return TelegramUsersInfo{} +} + +// AsTelegramUsersInfo - создаёт объект из упакованного объекта в массиве байтов +func AsTelegramUsersInfo(b []byte) (TelegramUsersInfo, error) { + c := NewTelegramUsersInfo() + err := msgpack.Unmarshal(b, &c) + if err != nil { + return NewTelegramUsersInfo(), err + } + return c, nil +} + +// TelegramUsersInfoAsBytes - упаковывает объект в массив байтов +func TelegramUsersInfoAsBytes(m *TelegramUsersInfo) ([]byte, error) { + b, err := msgpack.Marshal(m) + if err != nil { + return nil, err + } + return b, nil +} + +// GetStructVersion - возвращает версию модели +func (m TelegramUsersInfo) GetStructVersion() uint32 { + if versionTelegramUsersInfo == 0 { + versionTelegramUsersInfo = calc_struct_version.CalcStructVersion(reflect.TypeOf(m)) + } + + return versionTelegramUsersInfo +} + +// GetModelFromJSON - создаёт модель из строки json +func (m *TelegramUsersInfo) GetModelFromJSON(sModel string) error { + var err error + + var bytes []byte + bytes = []byte(sModel) + + err = json.Unmarshal(bytes, m) + + return err +} + +// GetJSON - возвращает строку json из модели +func (m TelegramUsersInfo) GetJSON() (string, error) { + var ReturnVar string + var err error + + bytes, err := json.Marshal(m) + if err != nil { + return ReturnVar, err + } + ReturnVar = string(bytes) + return ReturnVar, err +} + +// ---------------------------- CRUD операции ------------------------------------------------------------ + +// Read - находит запись в БД по ID, и заполняет в объект +func (m *TelegramUsersInfo) Read() error { + if Crud_TelegramUsersInfo == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_TelegramUsersInfo.Read(m) + + return err +} + +// Save - записывает объект в БД по ID +func (m *TelegramUsersInfo) Save() error { + if Crud_TelegramUsersInfo == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_TelegramUsersInfo.Save(m) + + return err +} + +// Update - обновляет объект в БД по ID +func (m *TelegramUsersInfo) Update() error { + if Crud_TelegramUsersInfo == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_TelegramUsersInfo.Update(m) + + return err +} + +// Create - создаёт объект в БД с новым ID +func (m *TelegramUsersInfo) Create() error { + if Crud_TelegramUsersInfo == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_TelegramUsersInfo.Create(m) + + return err +} + +// ReadFromCache - находит запись в кэше или в БД по ID, и заполняет в объект +func (m *TelegramUsersInfo) ReadFromCache(ID int64) (TelegramUsersInfo, error) { + Otvet := TelegramUsersInfo{} + var err error + + if Crud_TelegramUsersInfo == nil { + return Otvet, constants.ErrorCrudIsNotInit + } + + Otvet, err = Crud_TelegramUsersInfo.ReadFromCache(ID) + + return Otvet, err +} + +// SetCrudInterface - заполняет интерфейс crud: DB, GRPC, NRPC +func (m TelegramUsersInfo) SetCrudInterface(crud ICrud_TelegramUsersInfo) { + Crud_TelegramUsersInfo = crud + + return +} + +// UpdateManyFields - находит запись в БД по ID, и изменяет только нужные колонки +func (m *TelegramUsersInfo) UpdateManyFields(MassNeedUpdateFields []string) error { + if Crud_TelegramUsersInfo == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_TelegramUsersInfo.UpdateManyFields(m, MassNeedUpdateFields) + + return err +} + +// ---------------------------- конец CRUD операции ------------------------------------------------------------ diff --git a/bin/notifier_service/pkg/object_model/entities/telegram_users_info/telegram_users_info_manual.go b/bin/notifier_service/pkg/object_model/entities/telegram_users_info/telegram_users_info_manual.go new file mode 100644 index 0000000..55f8697 --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/telegram_users_info/telegram_users_info_manual.go @@ -0,0 +1,15 @@ +package telegram_users_info + +// Crud_manual_TelegramUsersInfo - объект контроллер crud операций +var Crud_manual_TelegramUsersInfo ICrud_manual_TelegramUsersInfo + +// интерфейс CRUD операций сделанных вручную, для использования в DB или GRPC или NRPC +type ICrud_manual_TelegramUsersInfo interface { +} + +// SetCrudManualInterface - заполняет интерфейс crud: DB, GRPC, NRPC +func (m TelegramUsersInfo) SetCrudManualInterface(crud ICrud_manual_TelegramUsersInfo) { + Crud_manual_TelegramUsersInfo = crud + + return +} diff --git a/bin/notifier_service/pkg/object_model/entities/telegram_users_info/telegram_users_info_update.go b/bin/notifier_service/pkg/object_model/entities/telegram_users_info/telegram_users_info_update.go new file mode 100644 index 0000000..62a6732 --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/telegram_users_info/telegram_users_info_update.go @@ -0,0 +1,50 @@ +package telegram_users_info + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/constants" + ) + + +// Update_Address - изменяет объект в БД по ID, присваивает Address +func (m *TelegramUsersInfo) Update_Address() error { + if Crud_TelegramUsersInfo == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_TelegramUsersInfo.Update_Address(m) + + return err +} + +// Update_ChatID - изменяет объект в БД по ID, присваивает ChatID +func (m *TelegramUsersInfo) Update_ChatID() error { + if Crud_TelegramUsersInfo == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_TelegramUsersInfo.Update_ChatID(m) + + return err +} + +// Update_IsChecked - изменяет объект в БД по ID, присваивает IsChecked +func (m *TelegramUsersInfo) Update_IsChecked() error { + if Crud_TelegramUsersInfo == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_TelegramUsersInfo.Update_IsChecked(m) + + return err +} + +// Update_PersAcc - изменяет объект в БД по ID, присваивает PersAcc +func (m *TelegramUsersInfo) Update_PersAcc() error { + if Crud_TelegramUsersInfo == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_TelegramUsersInfo.Update_PersAcc(m) + + return err +} diff --git a/bin/notifier_service/pkg/object_model/entities/template/template.go b/bin/notifier_service/pkg/object_model/entities/template/template.go new file mode 100644 index 0000000..07136b0 --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/template/template.go @@ -0,0 +1,11 @@ +package template + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/tables/table_template" +) + +// Template - модель для таблицы template: Шаблоны уведомлений +Целевая БД сервиса уведомлений +type Template struct { + table_template.Table_Template +} diff --git a/bin/notifier_service/pkg/object_model/entities/template/template_crud.go b/bin/notifier_service/pkg/object_model/entities/template/template_crud.go new file mode 100644 index 0000000..485b612 --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/template/template_crud.go @@ -0,0 +1,177 @@ +//Файл создан автоматически кодогенератором crud_generator +//Не изменяйте ничего здесь. + +package template + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/constants" + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/calc_struct_version" + "encoding/json" + "github.com/vmihailenco/msgpack/v5" + "reflect" +) + +// versionTemplate - версия структуры модели, с учётом имен и типов полей +var versionTemplate uint32 + +// Crud_Template - объект контроллер crud операций +var Crud_Template ICrud_Template + +// интерфейс стандартных CRUD операций, для использования в DB или GRPC или NRPC +type ICrud_Template interface { + Read(*Template) error + Save(*Template) error + Update(*Template) error + Create(*Template) error + ReadFromCache(ID int64) (Template, error) + UpdateManyFields(*Template, []string) error + Update_ChannelID(*Template) error + Update_Code(*Template) error + Update_IncomingEventID(*Template) error + Update_Name(*Template) error + Update_Template(*Template) error + Update_UpdatedAt(*Template) error +} + +// TableName - возвращает имя таблицы в БД +func (m Template) TableNameDB() string { + return "template" +} + +// NewTemplate - возвращает новый объект +func NewTemplate() Template { + return Template{} +} + +// AsTemplate - создаёт объект из упакованного объекта в массиве байтов +func AsTemplate(b []byte) (Template, error) { + c := NewTemplate() + err := msgpack.Unmarshal(b, &c) + if err != nil { + return NewTemplate(), err + } + return c, nil +} + +// TemplateAsBytes - упаковывает объект в массив байтов +func TemplateAsBytes(m *Template) ([]byte, error) { + b, err := msgpack.Marshal(m) + if err != nil { + return nil, err + } + return b, nil +} + +// GetStructVersion - возвращает версию модели +func (m Template) GetStructVersion() uint32 { + if versionTemplate == 0 { + versionTemplate = calc_struct_version.CalcStructVersion(reflect.TypeOf(m)) + } + + return versionTemplate +} + +// GetModelFromJSON - создаёт модель из строки json +func (m *Template) GetModelFromJSON(sModel string) error { + var err error + + var bytes []byte + bytes = []byte(sModel) + + err = json.Unmarshal(bytes, m) + + return err +} + +// GetJSON - возвращает строку json из модели +func (m Template) GetJSON() (string, error) { + var ReturnVar string + var err error + + bytes, err := json.Marshal(m) + if err != nil { + return ReturnVar, err + } + ReturnVar = string(bytes) + return ReturnVar, err +} + +// ---------------------------- CRUD операции ------------------------------------------------------------ + +// Read - находит запись в БД по ID, и заполняет в объект +func (m *Template) Read() error { + if Crud_Template == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Template.Read(m) + + return err +} + +// Save - записывает объект в БД по ID +func (m *Template) Save() error { + if Crud_Template == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Template.Save(m) + + return err +} + +// Update - обновляет объект в БД по ID +func (m *Template) Update() error { + if Crud_Template == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Template.Update(m) + + return err +} + +// Create - создаёт объект в БД с новым ID +func (m *Template) Create() error { + if Crud_Template == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Template.Create(m) + + return err +} + +// ReadFromCache - находит запись в кэше или в БД по ID, и заполняет в объект +func (m *Template) ReadFromCache(ID int64) (Template, error) { + Otvet := Template{} + var err error + + if Crud_Template == nil { + return Otvet, constants.ErrorCrudIsNotInit + } + + Otvet, err = Crud_Template.ReadFromCache(ID) + + return Otvet, err +} + +// SetCrudInterface - заполняет интерфейс crud: DB, GRPC, NRPC +func (m Template) SetCrudInterface(crud ICrud_Template) { + Crud_Template = crud + + return +} + +// UpdateManyFields - находит запись в БД по ID, и изменяет только нужные колонки +func (m *Template) UpdateManyFields(MassNeedUpdateFields []string) error { + if Crud_Template == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Template.UpdateManyFields(m, MassNeedUpdateFields) + + return err +} + +// ---------------------------- конец CRUD операции ------------------------------------------------------------ diff --git a/bin/notifier_service/pkg/object_model/entities/template/template_manual.go b/bin/notifier_service/pkg/object_model/entities/template/template_manual.go new file mode 100644 index 0000000..ddcc072 --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/template/template_manual.go @@ -0,0 +1,15 @@ +package template + +// Crud_manual_Template - объект контроллер crud операций +var Crud_manual_Template ICrud_manual_Template + +// интерфейс CRUD операций сделанных вручную, для использования в DB или GRPC или NRPC +type ICrud_manual_Template interface { +} + +// SetCrudManualInterface - заполняет интерфейс crud: DB, GRPC, NRPC +func (m Template) SetCrudManualInterface(crud ICrud_manual_Template) { + Crud_manual_Template = crud + + return +} diff --git a/bin/notifier_service/pkg/object_model/entities/template/template_update.go b/bin/notifier_service/pkg/object_model/entities/template/template_update.go new file mode 100644 index 0000000..8ffbd40 --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/template/template_update.go @@ -0,0 +1,72 @@ +package template + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/constants" + ) + + +// Update_ChannelID - изменяет объект в БД по ID, присваивает ChannelID +func (m *Template) Update_ChannelID() error { + if Crud_Template == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Template.Update_ChannelID(m) + + return err +} + +// Update_Code - изменяет объект в БД по ID, присваивает Code +func (m *Template) Update_Code() error { + if Crud_Template == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Template.Update_Code(m) + + return err +} + +// Update_IncomingEventID - изменяет объект в БД по ID, присваивает IncomingEventID +func (m *Template) Update_IncomingEventID() error { + if Crud_Template == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Template.Update_IncomingEventID(m) + + return err +} + +// Update_Name - изменяет объект в БД по ID, присваивает Name +func (m *Template) Update_Name() error { + if Crud_Template == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Template.Update_Name(m) + + return err +} + +// Update_Template - изменяет объект в БД по ID, присваивает Template +func (m *Template) Update_Template() error { + if Crud_Template == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Template.Update_Template(m) + + return err +} + +// Update_UpdatedAt - изменяет объект в БД по ID, присваивает UpdatedAt +func (m *Template) Update_UpdatedAt() error { + if Crud_Template == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_Template.Update_UpdatedAt(m) + + return err +} diff --git a/bin/notifier_service/pkg/object_model/entities/template_decoration/template_decoration.go b/bin/notifier_service/pkg/object_model/entities/template_decoration/template_decoration.go new file mode 100644 index 0000000..8acb77c --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/template_decoration/template_decoration.go @@ -0,0 +1,10 @@ +package template_decoration + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/tables/table_template_decoration" +) + +// TemplateDecoration - модель для таблицы template_decoration: Картинки и таттачи для шаблонизированных сообщений. +type TemplateDecoration struct { + table_template_decoration.Table_TemplateDecoration +} diff --git a/bin/notifier_service/pkg/object_model/entities/template_decoration/template_decoration_crud.go b/bin/notifier_service/pkg/object_model/entities/template_decoration/template_decoration_crud.go new file mode 100644 index 0000000..497d3ed --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/template_decoration/template_decoration_crud.go @@ -0,0 +1,175 @@ +//Файл создан автоматически кодогенератором crud_generator +//Не изменяйте ничего здесь. + +package template_decoration + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/constants" + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/calc_struct_version" + "encoding/json" + "github.com/vmihailenco/msgpack/v5" + "reflect" +) + +// versionTemplateDecoration - версия структуры модели, с учётом имен и типов полей +var versionTemplateDecoration uint32 + +// Crud_TemplateDecoration - объект контроллер crud операций +var Crud_TemplateDecoration ICrud_TemplateDecoration + +// интерфейс стандартных CRUD операций, для использования в DB или GRPC или NRPC +type ICrud_TemplateDecoration interface { + Read(*TemplateDecoration) error + Save(*TemplateDecoration) error + Update(*TemplateDecoration) error + Create(*TemplateDecoration) error + ReadFromCache(ID int64) (TemplateDecoration, error) + UpdateManyFields(*TemplateDecoration, []string) error + Update_Data(*TemplateDecoration) error + Update_Description(*TemplateDecoration) error + Update_Filename(*TemplateDecoration) error + Update_SavedOnServerAt(*TemplateDecoration) error +} + +// TableName - возвращает имя таблицы в БД +func (m TemplateDecoration) TableNameDB() string { + return "template_decoration" +} + +// NewTemplateDecoration - возвращает новый объект +func NewTemplateDecoration() TemplateDecoration { + return TemplateDecoration{} +} + +// AsTemplateDecoration - создаёт объект из упакованного объекта в массиве байтов +func AsTemplateDecoration(b []byte) (TemplateDecoration, error) { + c := NewTemplateDecoration() + err := msgpack.Unmarshal(b, &c) + if err != nil { + return NewTemplateDecoration(), err + } + return c, nil +} + +// TemplateDecorationAsBytes - упаковывает объект в массив байтов +func TemplateDecorationAsBytes(m *TemplateDecoration) ([]byte, error) { + b, err := msgpack.Marshal(m) + if err != nil { + return nil, err + } + return b, nil +} + +// GetStructVersion - возвращает версию модели +func (m TemplateDecoration) GetStructVersion() uint32 { + if versionTemplateDecoration == 0 { + versionTemplateDecoration = calc_struct_version.CalcStructVersion(reflect.TypeOf(m)) + } + + return versionTemplateDecoration +} + +// GetModelFromJSON - создаёт модель из строки json +func (m *TemplateDecoration) GetModelFromJSON(sModel string) error { + var err error + + var bytes []byte + bytes = []byte(sModel) + + err = json.Unmarshal(bytes, m) + + return err +} + +// GetJSON - возвращает строку json из модели +func (m TemplateDecoration) GetJSON() (string, error) { + var ReturnVar string + var err error + + bytes, err := json.Marshal(m) + if err != nil { + return ReturnVar, err + } + ReturnVar = string(bytes) + return ReturnVar, err +} + +// ---------------------------- CRUD операции ------------------------------------------------------------ + +// Read - находит запись в БД по ID, и заполняет в объект +func (m *TemplateDecoration) Read() error { + if Crud_TemplateDecoration == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_TemplateDecoration.Read(m) + + return err +} + +// Save - записывает объект в БД по ID +func (m *TemplateDecoration) Save() error { + if Crud_TemplateDecoration == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_TemplateDecoration.Save(m) + + return err +} + +// Update - обновляет объект в БД по ID +func (m *TemplateDecoration) Update() error { + if Crud_TemplateDecoration == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_TemplateDecoration.Update(m) + + return err +} + +// Create - создаёт объект в БД с новым ID +func (m *TemplateDecoration) Create() error { + if Crud_TemplateDecoration == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_TemplateDecoration.Create(m) + + return err +} + +// ReadFromCache - находит запись в кэше или в БД по ID, и заполняет в объект +func (m *TemplateDecoration) ReadFromCache(ID int64) (TemplateDecoration, error) { + Otvet := TemplateDecoration{} + var err error + + if Crud_TemplateDecoration == nil { + return Otvet, constants.ErrorCrudIsNotInit + } + + Otvet, err = Crud_TemplateDecoration.ReadFromCache(ID) + + return Otvet, err +} + +// SetCrudInterface - заполняет интерфейс crud: DB, GRPC, NRPC +func (m TemplateDecoration) SetCrudInterface(crud ICrud_TemplateDecoration) { + Crud_TemplateDecoration = crud + + return +} + +// UpdateManyFields - находит запись в БД по ID, и изменяет только нужные колонки +func (m *TemplateDecoration) UpdateManyFields(MassNeedUpdateFields []string) error { + if Crud_TemplateDecoration == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_TemplateDecoration.UpdateManyFields(m, MassNeedUpdateFields) + + return err +} + +// ---------------------------- конец CRUD операции ------------------------------------------------------------ diff --git a/bin/notifier_service/pkg/object_model/entities/template_decoration/template_decoration_manual.go b/bin/notifier_service/pkg/object_model/entities/template_decoration/template_decoration_manual.go new file mode 100644 index 0000000..0c5da4c --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/template_decoration/template_decoration_manual.go @@ -0,0 +1,15 @@ +package template_decoration + +// Crud_manual_TemplateDecoration - объект контроллер crud операций +var Crud_manual_TemplateDecoration ICrud_manual_TemplateDecoration + +// интерфейс CRUD операций сделанных вручную, для использования в DB или GRPC или NRPC +type ICrud_manual_TemplateDecoration interface { +} + +// SetCrudManualInterface - заполняет интерфейс crud: DB, GRPC, NRPC +func (m TemplateDecoration) SetCrudManualInterface(crud ICrud_manual_TemplateDecoration) { + Crud_manual_TemplateDecoration = crud + + return +} diff --git a/bin/notifier_service/pkg/object_model/entities/template_decoration/template_decoration_update.go b/bin/notifier_service/pkg/object_model/entities/template_decoration/template_decoration_update.go new file mode 100644 index 0000000..48e1c3a --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/template_decoration/template_decoration_update.go @@ -0,0 +1,50 @@ +package template_decoration + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/constants" + ) + + +// Update_Data - изменяет объект в БД по ID, присваивает Data +func (m *TemplateDecoration) Update_Data() error { + if Crud_TemplateDecoration == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_TemplateDecoration.Update_Data(m) + + return err +} + +// Update_Description - изменяет объект в БД по ID, присваивает Description +func (m *TemplateDecoration) Update_Description() error { + if Crud_TemplateDecoration == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_TemplateDecoration.Update_Description(m) + + return err +} + +// Update_Filename - изменяет объект в БД по ID, присваивает Filename +func (m *TemplateDecoration) Update_Filename() error { + if Crud_TemplateDecoration == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_TemplateDecoration.Update_Filename(m) + + return err +} + +// Update_SavedOnServerAt - изменяет объект в БД по ID, присваивает SavedOnServerAt +func (m *TemplateDecoration) Update_SavedOnServerAt() error { + if Crud_TemplateDecoration == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_TemplateDecoration.Update_SavedOnServerAt(m) + + return err +} diff --git a/bin/notifier_service/pkg/object_model/entities/template_template_decoration/template_template_decoration.go b/bin/notifier_service/pkg/object_model/entities/template_template_decoration/template_template_decoration.go new file mode 100644 index 0000000..3f78827 --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/template_template_decoration/template_template_decoration.go @@ -0,0 +1,10 @@ +package template_template_decoration + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/tables/table_template_template_decoration" +) + +// TemplateTemplateDecoration - модель для таблицы template_template_decoration: +type TemplateTemplateDecoration struct { + table_template_template_decoration.Table_TemplateTemplateDecoration +} diff --git a/bin/notifier_service/pkg/object_model/entities/template_template_decoration/template_template_decoration_crud.go b/bin/notifier_service/pkg/object_model/entities/template_template_decoration/template_template_decoration_crud.go new file mode 100644 index 0000000..4de656b --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/template_template_decoration/template_template_decoration_crud.go @@ -0,0 +1,173 @@ +//Файл создан автоматически кодогенератором crud_generator +//Не изменяйте ничего здесь. + +package template_template_decoration + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/constants" + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/calc_struct_version" + "encoding/json" + "github.com/vmihailenco/msgpack/v5" + "reflect" +) + +// versionTemplateTemplateDecoration - версия структуры модели, с учётом имен и типов полей +var versionTemplateTemplateDecoration uint32 + +// Crud_TemplateTemplateDecoration - объект контроллер crud операций +var Crud_TemplateTemplateDecoration ICrud_TemplateTemplateDecoration + +// интерфейс стандартных CRUD операций, для использования в DB или GRPC или NRPC +type ICrud_TemplateTemplateDecoration interface { + Read(*TemplateTemplateDecoration) error + Save(*TemplateTemplateDecoration) error + Update(*TemplateTemplateDecoration) error + Create(*TemplateTemplateDecoration) error + ReadFromCache(ID int64) (TemplateTemplateDecoration, error) + UpdateManyFields(*TemplateTemplateDecoration, []string) error + Update_TemplateDecorationID(*TemplateTemplateDecoration) error + Update_TemplateID(*TemplateTemplateDecoration) error +} + +// TableName - возвращает имя таблицы в БД +func (m TemplateTemplateDecoration) TableNameDB() string { + return "template_template_decoration" +} + +// NewTemplateTemplateDecoration - возвращает новый объект +func NewTemplateTemplateDecoration() TemplateTemplateDecoration { + return TemplateTemplateDecoration{} +} + +// AsTemplateTemplateDecoration - создаёт объект из упакованного объекта в массиве байтов +func AsTemplateTemplateDecoration(b []byte) (TemplateTemplateDecoration, error) { + c := NewTemplateTemplateDecoration() + err := msgpack.Unmarshal(b, &c) + if err != nil { + return NewTemplateTemplateDecoration(), err + } + return c, nil +} + +// TemplateTemplateDecorationAsBytes - упаковывает объект в массив байтов +func TemplateTemplateDecorationAsBytes(m *TemplateTemplateDecoration) ([]byte, error) { + b, err := msgpack.Marshal(m) + if err != nil { + return nil, err + } + return b, nil +} + +// GetStructVersion - возвращает версию модели +func (m TemplateTemplateDecoration) GetStructVersion() uint32 { + if versionTemplateTemplateDecoration == 0 { + versionTemplateTemplateDecoration = calc_struct_version.CalcStructVersion(reflect.TypeOf(m)) + } + + return versionTemplateTemplateDecoration +} + +// GetModelFromJSON - создаёт модель из строки json +func (m *TemplateTemplateDecoration) GetModelFromJSON(sModel string) error { + var err error + + var bytes []byte + bytes = []byte(sModel) + + err = json.Unmarshal(bytes, m) + + return err +} + +// GetJSON - возвращает строку json из модели +func (m TemplateTemplateDecoration) GetJSON() (string, error) { + var ReturnVar string + var err error + + bytes, err := json.Marshal(m) + if err != nil { + return ReturnVar, err + } + ReturnVar = string(bytes) + return ReturnVar, err +} + +// ---------------------------- CRUD операции ------------------------------------------------------------ + +// Read - находит запись в БД по ID, и заполняет в объект +func (m *TemplateTemplateDecoration) Read() error { + if Crud_TemplateTemplateDecoration == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_TemplateTemplateDecoration.Read(m) + + return err +} + +// Save - записывает объект в БД по ID +func (m *TemplateTemplateDecoration) Save() error { + if Crud_TemplateTemplateDecoration == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_TemplateTemplateDecoration.Save(m) + + return err +} + +// Update - обновляет объект в БД по ID +func (m *TemplateTemplateDecoration) Update() error { + if Crud_TemplateTemplateDecoration == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_TemplateTemplateDecoration.Update(m) + + return err +} + +// Create - создаёт объект в БД с новым ID +func (m *TemplateTemplateDecoration) Create() error { + if Crud_TemplateTemplateDecoration == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_TemplateTemplateDecoration.Create(m) + + return err +} + +// ReadFromCache - находит запись в кэше или в БД по ID, и заполняет в объект +func (m *TemplateTemplateDecoration) ReadFromCache(ID int64) (TemplateTemplateDecoration, error) { + Otvet := TemplateTemplateDecoration{} + var err error + + if Crud_TemplateTemplateDecoration == nil { + return Otvet, constants.ErrorCrudIsNotInit + } + + Otvet, err = Crud_TemplateTemplateDecoration.ReadFromCache(ID) + + return Otvet, err +} + +// SetCrudInterface - заполняет интерфейс crud: DB, GRPC, NRPC +func (m TemplateTemplateDecoration) SetCrudInterface(crud ICrud_TemplateTemplateDecoration) { + Crud_TemplateTemplateDecoration = crud + + return +} + +// UpdateManyFields - находит запись в БД по ID, и изменяет только нужные колонки +func (m *TemplateTemplateDecoration) UpdateManyFields(MassNeedUpdateFields []string) error { + if Crud_TemplateTemplateDecoration == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_TemplateTemplateDecoration.UpdateManyFields(m, MassNeedUpdateFields) + + return err +} + +// ---------------------------- конец CRUD операции ------------------------------------------------------------ diff --git a/bin/notifier_service/pkg/object_model/entities/template_template_decoration/template_template_decoration_manual.go b/bin/notifier_service/pkg/object_model/entities/template_template_decoration/template_template_decoration_manual.go new file mode 100644 index 0000000..316ba18 --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/template_template_decoration/template_template_decoration_manual.go @@ -0,0 +1,15 @@ +package template_template_decoration + +// Crud_manual_TemplateTemplateDecoration - объект контроллер crud операций +var Crud_manual_TemplateTemplateDecoration ICrud_manual_TemplateTemplateDecoration + +// интерфейс CRUD операций сделанных вручную, для использования в DB или GRPC или NRPC +type ICrud_manual_TemplateTemplateDecoration interface { +} + +// SetCrudManualInterface - заполняет интерфейс crud: DB, GRPC, NRPC +func (m TemplateTemplateDecoration) SetCrudManualInterface(crud ICrud_manual_TemplateTemplateDecoration) { + Crud_manual_TemplateTemplateDecoration = crud + + return +} diff --git a/bin/notifier_service/pkg/object_model/entities/template_template_decoration/template_template_decoration_update.go b/bin/notifier_service/pkg/object_model/entities/template_template_decoration/template_template_decoration_update.go new file mode 100644 index 0000000..db58286 --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/template_template_decoration/template_template_decoration_update.go @@ -0,0 +1,28 @@ +package template_template_decoration + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/constants" + ) + + +// Update_TemplateDecorationID - изменяет объект в БД по ID, присваивает TemplateDecorationID +func (m *TemplateTemplateDecoration) Update_TemplateDecorationID() error { + if Crud_TemplateTemplateDecoration == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_TemplateTemplateDecoration.Update_TemplateDecorationID(m) + + return err +} + +// Update_TemplateID - изменяет объект в БД по ID, присваивает TemplateID +func (m *TemplateTemplateDecoration) Update_TemplateID() error { + if Crud_TemplateTemplateDecoration == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_TemplateTemplateDecoration.Update_TemplateID(m) + + return err +} diff --git a/bin/notifier_service/pkg/object_model/entities/u_link_store/u_link_store.go b/bin/notifier_service/pkg/object_model/entities/u_link_store/u_link_store.go new file mode 100644 index 0000000..607efd8 --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/u_link_store/u_link_store.go @@ -0,0 +1,10 @@ +package u_link_store + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/tables/table_u_link_store" +) + +// ULinkStore - модель для таблицы u_link_store: Склад уникальных 6-значных кодов для коротких ссылок +type ULinkStore struct { + table_u_link_store.Table_ULinkStore +} diff --git a/bin/notifier_service/pkg/object_model/entities/u_link_store/u_link_store_crud.go b/bin/notifier_service/pkg/object_model/entities/u_link_store/u_link_store_crud.go new file mode 100644 index 0000000..e7f6d52 --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/u_link_store/u_link_store_crud.go @@ -0,0 +1,173 @@ +//Файл создан автоматически кодогенератором crud_generator +//Не изменяйте ничего здесь. + +package u_link_store + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/constants" + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/calc_struct_version" + "encoding/json" + "github.com/vmihailenco/msgpack/v5" + "reflect" +) + +// versionULinkStore - версия структуры модели, с учётом имен и типов полей +var versionULinkStore uint32 + +// Crud_ULinkStore - объект контроллер crud операций +var Crud_ULinkStore ICrud_ULinkStore + +// интерфейс стандартных CRUD операций, для использования в DB или GRPC или NRPC +type ICrud_ULinkStore interface { + Read(*ULinkStore) error + Save(*ULinkStore) error + Update(*ULinkStore) error + Create(*ULinkStore) error + ReadFromCache(ID int64) (ULinkStore, error) + UpdateManyFields(*ULinkStore, []string) error + Update_ULink(*ULinkStore) error + Update_Use(*ULinkStore) error +} + +// TableName - возвращает имя таблицы в БД +func (m ULinkStore) TableNameDB() string { + return "u_link_store" +} + +// NewULinkStore - возвращает новый объект +func NewULinkStore() ULinkStore { + return ULinkStore{} +} + +// AsULinkStore - создаёт объект из упакованного объекта в массиве байтов +func AsULinkStore(b []byte) (ULinkStore, error) { + c := NewULinkStore() + err := msgpack.Unmarshal(b, &c) + if err != nil { + return NewULinkStore(), err + } + return c, nil +} + +// ULinkStoreAsBytes - упаковывает объект в массив байтов +func ULinkStoreAsBytes(m *ULinkStore) ([]byte, error) { + b, err := msgpack.Marshal(m) + if err != nil { + return nil, err + } + return b, nil +} + +// GetStructVersion - возвращает версию модели +func (m ULinkStore) GetStructVersion() uint32 { + if versionULinkStore == 0 { + versionULinkStore = calc_struct_version.CalcStructVersion(reflect.TypeOf(m)) + } + + return versionULinkStore +} + +// GetModelFromJSON - создаёт модель из строки json +func (m *ULinkStore) GetModelFromJSON(sModel string) error { + var err error + + var bytes []byte + bytes = []byte(sModel) + + err = json.Unmarshal(bytes, m) + + return err +} + +// GetJSON - возвращает строку json из модели +func (m ULinkStore) GetJSON() (string, error) { + var ReturnVar string + var err error + + bytes, err := json.Marshal(m) + if err != nil { + return ReturnVar, err + } + ReturnVar = string(bytes) + return ReturnVar, err +} + +// ---------------------------- CRUD операции ------------------------------------------------------------ + +// Read - находит запись в БД по ID, и заполняет в объект +func (m *ULinkStore) Read() error { + if Crud_ULinkStore == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_ULinkStore.Read(m) + + return err +} + +// Save - записывает объект в БД по ID +func (m *ULinkStore) Save() error { + if Crud_ULinkStore == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_ULinkStore.Save(m) + + return err +} + +// Update - обновляет объект в БД по ID +func (m *ULinkStore) Update() error { + if Crud_ULinkStore == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_ULinkStore.Update(m) + + return err +} + +// Create - создаёт объект в БД с новым ID +func (m *ULinkStore) Create() error { + if Crud_ULinkStore == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_ULinkStore.Create(m) + + return err +} + +// ReadFromCache - находит запись в кэше или в БД по ID, и заполняет в объект +func (m *ULinkStore) ReadFromCache(ID int64) (ULinkStore, error) { + Otvet := ULinkStore{} + var err error + + if Crud_ULinkStore == nil { + return Otvet, constants.ErrorCrudIsNotInit + } + + Otvet, err = Crud_ULinkStore.ReadFromCache(ID) + + return Otvet, err +} + +// SetCrudInterface - заполняет интерфейс crud: DB, GRPC, NRPC +func (m ULinkStore) SetCrudInterface(crud ICrud_ULinkStore) { + Crud_ULinkStore = crud + + return +} + +// UpdateManyFields - находит запись в БД по ID, и изменяет только нужные колонки +func (m *ULinkStore) UpdateManyFields(MassNeedUpdateFields []string) error { + if Crud_ULinkStore == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_ULinkStore.UpdateManyFields(m, MassNeedUpdateFields) + + return err +} + +// ---------------------------- конец CRUD операции ------------------------------------------------------------ diff --git a/bin/notifier_service/pkg/object_model/entities/u_link_store/u_link_store_manual.go b/bin/notifier_service/pkg/object_model/entities/u_link_store/u_link_store_manual.go new file mode 100644 index 0000000..cb51550 --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/u_link_store/u_link_store_manual.go @@ -0,0 +1,15 @@ +package u_link_store + +// Crud_manual_ULinkStore - объект контроллер crud операций +var Crud_manual_ULinkStore ICrud_manual_ULinkStore + +// интерфейс CRUD операций сделанных вручную, для использования в DB или GRPC или NRPC +type ICrud_manual_ULinkStore interface { +} + +// SetCrudManualInterface - заполняет интерфейс crud: DB, GRPC, NRPC +func (m ULinkStore) SetCrudManualInterface(crud ICrud_manual_ULinkStore) { + Crud_manual_ULinkStore = crud + + return +} diff --git a/bin/notifier_service/pkg/object_model/entities/u_link_store/u_link_store_update.go b/bin/notifier_service/pkg/object_model/entities/u_link_store/u_link_store_update.go new file mode 100644 index 0000000..c79e145 --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/u_link_store/u_link_store_update.go @@ -0,0 +1,28 @@ +package u_link_store + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/constants" + ) + + +// Update_ULink - изменяет объект в БД по ID, присваивает ULink +func (m *ULinkStore) Update_ULink() error { + if Crud_ULinkStore == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_ULinkStore.Update_ULink(m) + + return err +} + +// Update_Use - изменяет объект в БД по ID, присваивает Use +func (m *ULinkStore) Update_Use() error { + if Crud_ULinkStore == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_ULinkStore.Update_Use(m) + + return err +} diff --git a/bin/notifier_service/pkg/object_model/entities/unique_link/unique_link.go b/bin/notifier_service/pkg/object_model/entities/unique_link/unique_link.go new file mode 100644 index 0000000..66426c1 --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/unique_link/unique_link.go @@ -0,0 +1,10 @@ +package unique_link + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/tables/table_unique_link" +) + +// UniqueLink - модель для таблицы unique_link: Уникальная ссылка +type UniqueLink struct { + table_unique_link.Table_UniqueLink +} diff --git a/bin/notifier_service/pkg/object_model/entities/unique_link/unique_link_crud.go b/bin/notifier_service/pkg/object_model/entities/unique_link/unique_link_crud.go new file mode 100644 index 0000000..4e4f283 --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/unique_link/unique_link_crud.go @@ -0,0 +1,180 @@ +//Файл создан автоматически кодогенератором crud_generator +//Не изменяйте ничего здесь. + +package unique_link + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/constants" + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/calc_struct_version" + "encoding/json" + "github.com/vmihailenco/msgpack/v5" + "reflect" +) + +// versionUniqueLink - версия структуры модели, с учётом имен и типов полей +var versionUniqueLink uint32 + +// Crud_UniqueLink - объект контроллер crud операций +var Crud_UniqueLink ICrud_UniqueLink + +// интерфейс стандартных CRUD операций, для использования в DB или GRPC или NRPC +type ICrud_UniqueLink interface { + Read(*UniqueLink) error + Save(*UniqueLink) error + Update(*UniqueLink) error + Create(*UniqueLink) error + ReadFromCache(ID int64) (UniqueLink, error) + UpdateManyFields(*UniqueLink, []string) error + Update_CountRedirect(*UniqueLink) error + Update_FirstRedirectedAt(*UniqueLink) error + Update_IsActive(*UniqueLink) error + Update_LastRedirectedAt(*UniqueLink) error + Update_LinkOriginal(*UniqueLink) error + Update_LinkTypeID(*UniqueLink) error + Update_LinkUnique(*UniqueLink) error + Update_PersonalAcc(*UniqueLink) error + Update_Utm(*UniqueLink) error +} + +// TableName - возвращает имя таблицы в БД +func (m UniqueLink) TableNameDB() string { + return "unique_link" +} + +// NewUniqueLink - возвращает новый объект +func NewUniqueLink() UniqueLink { + return UniqueLink{} +} + +// AsUniqueLink - создаёт объект из упакованного объекта в массиве байтов +func AsUniqueLink(b []byte) (UniqueLink, error) { + c := NewUniqueLink() + err := msgpack.Unmarshal(b, &c) + if err != nil { + return NewUniqueLink(), err + } + return c, nil +} + +// UniqueLinkAsBytes - упаковывает объект в массив байтов +func UniqueLinkAsBytes(m *UniqueLink) ([]byte, error) { + b, err := msgpack.Marshal(m) + if err != nil { + return nil, err + } + return b, nil +} + +// GetStructVersion - возвращает версию модели +func (m UniqueLink) GetStructVersion() uint32 { + if versionUniqueLink == 0 { + versionUniqueLink = calc_struct_version.CalcStructVersion(reflect.TypeOf(m)) + } + + return versionUniqueLink +} + +// GetModelFromJSON - создаёт модель из строки json +func (m *UniqueLink) GetModelFromJSON(sModel string) error { + var err error + + var bytes []byte + bytes = []byte(sModel) + + err = json.Unmarshal(bytes, m) + + return err +} + +// GetJSON - возвращает строку json из модели +func (m UniqueLink) GetJSON() (string, error) { + var ReturnVar string + var err error + + bytes, err := json.Marshal(m) + if err != nil { + return ReturnVar, err + } + ReturnVar = string(bytes) + return ReturnVar, err +} + +// ---------------------------- CRUD операции ------------------------------------------------------------ + +// Read - находит запись в БД по ID, и заполняет в объект +func (m *UniqueLink) Read() error { + if Crud_UniqueLink == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_UniqueLink.Read(m) + + return err +} + +// Save - записывает объект в БД по ID +func (m *UniqueLink) Save() error { + if Crud_UniqueLink == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_UniqueLink.Save(m) + + return err +} + +// Update - обновляет объект в БД по ID +func (m *UniqueLink) Update() error { + if Crud_UniqueLink == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_UniqueLink.Update(m) + + return err +} + +// Create - создаёт объект в БД с новым ID +func (m *UniqueLink) Create() error { + if Crud_UniqueLink == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_UniqueLink.Create(m) + + return err +} + +// ReadFromCache - находит запись в кэше или в БД по ID, и заполняет в объект +func (m *UniqueLink) ReadFromCache(ID int64) (UniqueLink, error) { + Otvet := UniqueLink{} + var err error + + if Crud_UniqueLink == nil { + return Otvet, constants.ErrorCrudIsNotInit + } + + Otvet, err = Crud_UniqueLink.ReadFromCache(ID) + + return Otvet, err +} + +// SetCrudInterface - заполняет интерфейс crud: DB, GRPC, NRPC +func (m UniqueLink) SetCrudInterface(crud ICrud_UniqueLink) { + Crud_UniqueLink = crud + + return +} + +// UpdateManyFields - находит запись в БД по ID, и изменяет только нужные колонки +func (m *UniqueLink) UpdateManyFields(MassNeedUpdateFields []string) error { + if Crud_UniqueLink == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_UniqueLink.UpdateManyFields(m, MassNeedUpdateFields) + + return err +} + +// ---------------------------- конец CRUD операции ------------------------------------------------------------ diff --git a/bin/notifier_service/pkg/object_model/entities/unique_link/unique_link_manual.go b/bin/notifier_service/pkg/object_model/entities/unique_link/unique_link_manual.go new file mode 100644 index 0000000..3f88891 --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/unique_link/unique_link_manual.go @@ -0,0 +1,15 @@ +package unique_link + +// Crud_manual_UniqueLink - объект контроллер crud операций +var Crud_manual_UniqueLink ICrud_manual_UniqueLink + +// интерфейс CRUD операций сделанных вручную, для использования в DB или GRPC или NRPC +type ICrud_manual_UniqueLink interface { +} + +// SetCrudManualInterface - заполняет интерфейс crud: DB, GRPC, NRPC +func (m UniqueLink) SetCrudManualInterface(crud ICrud_manual_UniqueLink) { + Crud_manual_UniqueLink = crud + + return +} diff --git a/bin/notifier_service/pkg/object_model/entities/unique_link/unique_link_update.go b/bin/notifier_service/pkg/object_model/entities/unique_link/unique_link_update.go new file mode 100644 index 0000000..4880f8c --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/unique_link/unique_link_update.go @@ -0,0 +1,105 @@ +package unique_link + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/constants" + ) + + +// Update_CountRedirect - изменяет объект в БД по ID, присваивает CountRedirect +func (m *UniqueLink) Update_CountRedirect() error { + if Crud_UniqueLink == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_UniqueLink.Update_CountRedirect(m) + + return err +} + +// Update_FirstRedirectedAt - изменяет объект в БД по ID, присваивает FirstRedirectedAt +func (m *UniqueLink) Update_FirstRedirectedAt() error { + if Crud_UniqueLink == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_UniqueLink.Update_FirstRedirectedAt(m) + + return err +} + +// Update_IsActive - изменяет объект в БД по ID, присваивает IsActive +func (m *UniqueLink) Update_IsActive() error { + if Crud_UniqueLink == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_UniqueLink.Update_IsActive(m) + + return err +} + +// Update_LastRedirectedAt - изменяет объект в БД по ID, присваивает LastRedirectedAt +func (m *UniqueLink) Update_LastRedirectedAt() error { + if Crud_UniqueLink == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_UniqueLink.Update_LastRedirectedAt(m) + + return err +} + +// Update_LinkOriginal - изменяет объект в БД по ID, присваивает LinkOriginal +func (m *UniqueLink) Update_LinkOriginal() error { + if Crud_UniqueLink == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_UniqueLink.Update_LinkOriginal(m) + + return err +} + +// Update_LinkTypeID - изменяет объект в БД по ID, присваивает LinkTypeID +func (m *UniqueLink) Update_LinkTypeID() error { + if Crud_UniqueLink == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_UniqueLink.Update_LinkTypeID(m) + + return err +} + +// Update_LinkUnique - изменяет объект в БД по ID, присваивает LinkUnique +func (m *UniqueLink) Update_LinkUnique() error { + if Crud_UniqueLink == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_UniqueLink.Update_LinkUnique(m) + + return err +} + +// Update_PersonalAcc - изменяет объект в БД по ID, присваивает PersonalAcc +func (m *UniqueLink) Update_PersonalAcc() error { + if Crud_UniqueLink == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_UniqueLink.Update_PersonalAcc(m) + + return err +} + +// Update_Utm - изменяет объект в БД по ID, присваивает Utm +func (m *UniqueLink) Update_Utm() error { + if Crud_UniqueLink == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_UniqueLink.Update_Utm(m) + + return err +} diff --git a/bin/notifier_service/pkg/object_model/entities/w_log/w_log.go b/bin/notifier_service/pkg/object_model/entities/w_log/w_log.go new file mode 100644 index 0000000..384a5b7 --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/w_log/w_log.go @@ -0,0 +1,10 @@ +package w_log + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/tables/table_w_log" +) + +// WLog - модель для таблицы w_log: +type WLog struct { + table_w_log.Table_WLog +} diff --git a/bin/notifier_service/pkg/object_model/entities/w_log/w_log_crud.go b/bin/notifier_service/pkg/object_model/entities/w_log/w_log_crud.go new file mode 100644 index 0000000..8934d74 --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/w_log/w_log_crud.go @@ -0,0 +1,181 @@ +//Файл создан автоматически кодогенератором crud_generator +//Не изменяйте ничего здесь. + +package w_log + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/constants" + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/calc_struct_version" + "encoding/json" + "github.com/vmihailenco/msgpack/v5" + "reflect" +) + +// versionWLog - версия структуры модели, с учётом имен и типов полей +var versionWLog uint32 + +// Crud_WLog - объект контроллер crud операций +var Crud_WLog ICrud_WLog + +// интерфейс стандартных CRUD операций, для использования в DB или GRPC или NRPC +type ICrud_WLog interface { + Read(*WLog) error + Save(*WLog) error + Update(*WLog) error + Create(*WLog) error + ReadFromCache(ID int64) (WLog, error) + UpdateManyFields(*WLog, []string) error + Update_Addr(*WLog) error + Update_DtTz(*WLog) error + Update_DtUtc(*WLog) error + Update_Msg(*WLog) error + Update_MsgByte(*WLog) error + Update_MsgJsonb(*WLog) error + Update_Pid(*WLog) error + Update_Proc(*WLog) error + Update_Usr(*WLog) error + Update_Var(*WLog) error +} + +// TableName - возвращает имя таблицы в БД +func (m WLog) TableNameDB() string { + return "w_log" +} + +// NewWLog - возвращает новый объект +func NewWLog() WLog { + return WLog{} +} + +// AsWLog - создаёт объект из упакованного объекта в массиве байтов +func AsWLog(b []byte) (WLog, error) { + c := NewWLog() + err := msgpack.Unmarshal(b, &c) + if err != nil { + return NewWLog(), err + } + return c, nil +} + +// WLogAsBytes - упаковывает объект в массив байтов +func WLogAsBytes(m *WLog) ([]byte, error) { + b, err := msgpack.Marshal(m) + if err != nil { + return nil, err + } + return b, nil +} + +// GetStructVersion - возвращает версию модели +func (m WLog) GetStructVersion() uint32 { + if versionWLog == 0 { + versionWLog = calc_struct_version.CalcStructVersion(reflect.TypeOf(m)) + } + + return versionWLog +} + +// GetModelFromJSON - создаёт модель из строки json +func (m *WLog) GetModelFromJSON(sModel string) error { + var err error + + var bytes []byte + bytes = []byte(sModel) + + err = json.Unmarshal(bytes, m) + + return err +} + +// GetJSON - возвращает строку json из модели +func (m WLog) GetJSON() (string, error) { + var ReturnVar string + var err error + + bytes, err := json.Marshal(m) + if err != nil { + return ReturnVar, err + } + ReturnVar = string(bytes) + return ReturnVar, err +} + +// ---------------------------- CRUD операции ------------------------------------------------------------ + +// Read - находит запись в БД по ID, и заполняет в объект +func (m *WLog) Read() error { + if Crud_WLog == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_WLog.Read(m) + + return err +} + +// Save - записывает объект в БД по ID +func (m *WLog) Save() error { + if Crud_WLog == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_WLog.Save(m) + + return err +} + +// Update - обновляет объект в БД по ID +func (m *WLog) Update() error { + if Crud_WLog == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_WLog.Update(m) + + return err +} + +// Create - создаёт объект в БД с новым ID +func (m *WLog) Create() error { + if Crud_WLog == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_WLog.Create(m) + + return err +} + +// ReadFromCache - находит запись в кэше или в БД по ID, и заполняет в объект +func (m *WLog) ReadFromCache(ID int64) (WLog, error) { + Otvet := WLog{} + var err error + + if Crud_WLog == nil { + return Otvet, constants.ErrorCrudIsNotInit + } + + Otvet, err = Crud_WLog.ReadFromCache(ID) + + return Otvet, err +} + +// SetCrudInterface - заполняет интерфейс crud: DB, GRPC, NRPC +func (m WLog) SetCrudInterface(crud ICrud_WLog) { + Crud_WLog = crud + + return +} + +// UpdateManyFields - находит запись в БД по ID, и изменяет только нужные колонки +func (m *WLog) UpdateManyFields(MassNeedUpdateFields []string) error { + if Crud_WLog == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_WLog.UpdateManyFields(m, MassNeedUpdateFields) + + return err +} + +// ---------------------------- конец CRUD операции ------------------------------------------------------------ diff --git a/bin/notifier_service/pkg/object_model/entities/w_log/w_log_manual.go b/bin/notifier_service/pkg/object_model/entities/w_log/w_log_manual.go new file mode 100644 index 0000000..b11b31c --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/w_log/w_log_manual.go @@ -0,0 +1,15 @@ +package w_log + +// Crud_manual_WLog - объект контроллер crud операций +var Crud_manual_WLog ICrud_manual_WLog + +// интерфейс CRUD операций сделанных вручную, для использования в DB или GRPC или NRPC +type ICrud_manual_WLog interface { +} + +// SetCrudManualInterface - заполняет интерфейс crud: DB, GRPC, NRPC +func (m WLog) SetCrudManualInterface(crud ICrud_manual_WLog) { + Crud_manual_WLog = crud + + return +} diff --git a/bin/notifier_service/pkg/object_model/entities/w_log/w_log_update.go b/bin/notifier_service/pkg/object_model/entities/w_log/w_log_update.go new file mode 100644 index 0000000..f599fa8 --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/w_log/w_log_update.go @@ -0,0 +1,116 @@ +package w_log + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/constants" + ) + + +// Update_Addr - изменяет объект в БД по ID, присваивает Addr +func (m *WLog) Update_Addr() error { + if Crud_WLog == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_WLog.Update_Addr(m) + + return err +} + +// Update_DtTz - изменяет объект в БД по ID, присваивает DtTz +func (m *WLog) Update_DtTz() error { + if Crud_WLog == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_WLog.Update_DtTz(m) + + return err +} + +// Update_DtUtc - изменяет объект в БД по ID, присваивает DtUtc +func (m *WLog) Update_DtUtc() error { + if Crud_WLog == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_WLog.Update_DtUtc(m) + + return err +} + +// Update_Msg - изменяет объект в БД по ID, присваивает Msg +func (m *WLog) Update_Msg() error { + if Crud_WLog == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_WLog.Update_Msg(m) + + return err +} + +// Update_MsgByte - изменяет объект в БД по ID, присваивает MsgByte +func (m *WLog) Update_MsgByte() error { + if Crud_WLog == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_WLog.Update_MsgByte(m) + + return err +} + +// Update_MsgJsonb - изменяет объект в БД по ID, присваивает MsgJsonb +func (m *WLog) Update_MsgJsonb() error { + if Crud_WLog == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_WLog.Update_MsgJsonb(m) + + return err +} + +// Update_Pid - изменяет объект в БД по ID, присваивает Pid +func (m *WLog) Update_Pid() error { + if Crud_WLog == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_WLog.Update_Pid(m) + + return err +} + +// Update_Proc - изменяет объект в БД по ID, присваивает Proc +func (m *WLog) Update_Proc() error { + if Crud_WLog == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_WLog.Update_Proc(m) + + return err +} + +// Update_Usr - изменяет объект в БД по ID, присваивает Usr +func (m *WLog) Update_Usr() error { + if Crud_WLog == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_WLog.Update_Usr(m) + + return err +} + +// Update_Var - изменяет объект в БД по ID, присваивает Var +func (m *WLog) Update_Var() error { + if Crud_WLog == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_WLog.Update_Var(m) + + return err +} diff --git a/bin/notifier_service/pkg/object_model/entities/w_log_message_del/w_log_message_del.go b/bin/notifier_service/pkg/object_model/entities/w_log_message_del/w_log_message_del.go new file mode 100644 index 0000000..f50b29a --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/w_log_message_del/w_log_message_del.go @@ -0,0 +1,10 @@ +package w_log_message_del + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/tables/table_w_log_message_del" +) + +// WLogMessageDel - модель для таблицы w_log_message_del: +type WLogMessageDel struct { + table_w_log_message_del.Table_WLogMessageDel +} diff --git a/bin/notifier_service/pkg/object_model/entities/w_log_message_del/w_log_message_del_crud.go b/bin/notifier_service/pkg/object_model/entities/w_log_message_del/w_log_message_del_crud.go new file mode 100644 index 0000000..4b8ddfb --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/w_log_message_del/w_log_message_del_crud.go @@ -0,0 +1,178 @@ +//Файл создан автоматически кодогенератором crud_generator +//Не изменяйте ничего здесь. + +package w_log_message_del + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/constants" + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/calc_struct_version" + "encoding/json" + "github.com/vmihailenco/msgpack/v5" + "reflect" +) + +// versionWLogMessageDel - версия структуры модели, с учётом имен и типов полей +var versionWLogMessageDel uint32 + +// Crud_WLogMessageDel - объект контроллер crud операций +var Crud_WLogMessageDel ICrud_WLogMessageDel + +// интерфейс стандартных CRUD операций, для использования в DB или GRPC или NRPC +type ICrud_WLogMessageDel interface { + Read(*WLogMessageDel) error + Save(*WLogMessageDel) error + Update(*WLogMessageDel) error + Create(*WLogMessageDel) error + ReadFromCache(ID int64) (WLogMessageDel, error) + UpdateManyFields(*WLogMessageDel, []string) error + Update_Addr(*WLogMessageDel) error + Update_Dt(*WLogMessageDel) error + Update_Msg(*WLogMessageDel) error + Update_Pid(*WLogMessageDel) error + Update_Proc(*WLogMessageDel) error + Update_Usr(*WLogMessageDel) error + Update_Var(*WLogMessageDel) error +} + +// TableName - возвращает имя таблицы в БД +func (m WLogMessageDel) TableNameDB() string { + return "w_log_message_del" +} + +// NewWLogMessageDel - возвращает новый объект +func NewWLogMessageDel() WLogMessageDel { + return WLogMessageDel{} +} + +// AsWLogMessageDel - создаёт объект из упакованного объекта в массиве байтов +func AsWLogMessageDel(b []byte) (WLogMessageDel, error) { + c := NewWLogMessageDel() + err := msgpack.Unmarshal(b, &c) + if err != nil { + return NewWLogMessageDel(), err + } + return c, nil +} + +// WLogMessageDelAsBytes - упаковывает объект в массив байтов +func WLogMessageDelAsBytes(m *WLogMessageDel) ([]byte, error) { + b, err := msgpack.Marshal(m) + if err != nil { + return nil, err + } + return b, nil +} + +// GetStructVersion - возвращает версию модели +func (m WLogMessageDel) GetStructVersion() uint32 { + if versionWLogMessageDel == 0 { + versionWLogMessageDel = calc_struct_version.CalcStructVersion(reflect.TypeOf(m)) + } + + return versionWLogMessageDel +} + +// GetModelFromJSON - создаёт модель из строки json +func (m *WLogMessageDel) GetModelFromJSON(sModel string) error { + var err error + + var bytes []byte + bytes = []byte(sModel) + + err = json.Unmarshal(bytes, m) + + return err +} + +// GetJSON - возвращает строку json из модели +func (m WLogMessageDel) GetJSON() (string, error) { + var ReturnVar string + var err error + + bytes, err := json.Marshal(m) + if err != nil { + return ReturnVar, err + } + ReturnVar = string(bytes) + return ReturnVar, err +} + +// ---------------------------- CRUD операции ------------------------------------------------------------ + +// Read - находит запись в БД по ID, и заполняет в объект +func (m *WLogMessageDel) Read() error { + if Crud_WLogMessageDel == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_WLogMessageDel.Read(m) + + return err +} + +// Save - записывает объект в БД по ID +func (m *WLogMessageDel) Save() error { + if Crud_WLogMessageDel == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_WLogMessageDel.Save(m) + + return err +} + +// Update - обновляет объект в БД по ID +func (m *WLogMessageDel) Update() error { + if Crud_WLogMessageDel == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_WLogMessageDel.Update(m) + + return err +} + +// Create - создаёт объект в БД с новым ID +func (m *WLogMessageDel) Create() error { + if Crud_WLogMessageDel == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_WLogMessageDel.Create(m) + + return err +} + +// ReadFromCache - находит запись в кэше или в БД по ID, и заполняет в объект +func (m *WLogMessageDel) ReadFromCache(ID int64) (WLogMessageDel, error) { + Otvet := WLogMessageDel{} + var err error + + if Crud_WLogMessageDel == nil { + return Otvet, constants.ErrorCrudIsNotInit + } + + Otvet, err = Crud_WLogMessageDel.ReadFromCache(ID) + + return Otvet, err +} + +// SetCrudInterface - заполняет интерфейс crud: DB, GRPC, NRPC +func (m WLogMessageDel) SetCrudInterface(crud ICrud_WLogMessageDel) { + Crud_WLogMessageDel = crud + + return +} + +// UpdateManyFields - находит запись в БД по ID, и изменяет только нужные колонки +func (m *WLogMessageDel) UpdateManyFields(MassNeedUpdateFields []string) error { + if Crud_WLogMessageDel == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_WLogMessageDel.UpdateManyFields(m, MassNeedUpdateFields) + + return err +} + +// ---------------------------- конец CRUD операции ------------------------------------------------------------ diff --git a/bin/notifier_service/pkg/object_model/entities/w_log_message_del/w_log_message_del_manual.go b/bin/notifier_service/pkg/object_model/entities/w_log_message_del/w_log_message_del_manual.go new file mode 100644 index 0000000..9964928 --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/w_log_message_del/w_log_message_del_manual.go @@ -0,0 +1,15 @@ +package w_log_message_del + +// Crud_manual_WLogMessageDel - объект контроллер crud операций +var Crud_manual_WLogMessageDel ICrud_manual_WLogMessageDel + +// интерфейс CRUD операций сделанных вручную, для использования в DB или GRPC или NRPC +type ICrud_manual_WLogMessageDel interface { +} + +// SetCrudManualInterface - заполняет интерфейс crud: DB, GRPC, NRPC +func (m WLogMessageDel) SetCrudManualInterface(crud ICrud_manual_WLogMessageDel) { + Crud_manual_WLogMessageDel = crud + + return +} diff --git a/bin/notifier_service/pkg/object_model/entities/w_log_message_del/w_log_message_del_update.go b/bin/notifier_service/pkg/object_model/entities/w_log_message_del/w_log_message_del_update.go new file mode 100644 index 0000000..2cf97ec --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/w_log_message_del/w_log_message_del_update.go @@ -0,0 +1,83 @@ +package w_log_message_del + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/constants" + ) + + +// Update_Addr - изменяет объект в БД по ID, присваивает Addr +func (m *WLogMessageDel) Update_Addr() error { + if Crud_WLogMessageDel == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_WLogMessageDel.Update_Addr(m) + + return err +} + +// Update_Dt - изменяет объект в БД по ID, присваивает Dt +func (m *WLogMessageDel) Update_Dt() error { + if Crud_WLogMessageDel == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_WLogMessageDel.Update_Dt(m) + + return err +} + +// Update_Msg - изменяет объект в БД по ID, присваивает Msg +func (m *WLogMessageDel) Update_Msg() error { + if Crud_WLogMessageDel == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_WLogMessageDel.Update_Msg(m) + + return err +} + +// Update_Pid - изменяет объект в БД по ID, присваивает Pid +func (m *WLogMessageDel) Update_Pid() error { + if Crud_WLogMessageDel == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_WLogMessageDel.Update_Pid(m) + + return err +} + +// Update_Proc - изменяет объект в БД по ID, присваивает Proc +func (m *WLogMessageDel) Update_Proc() error { + if Crud_WLogMessageDel == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_WLogMessageDel.Update_Proc(m) + + return err +} + +// Update_Usr - изменяет объект в БД по ID, присваивает Usr +func (m *WLogMessageDel) Update_Usr() error { + if Crud_WLogMessageDel == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_WLogMessageDel.Update_Usr(m) + + return err +} + +// Update_Var - изменяет объект в БД по ID, присваивает Var +func (m *WLogMessageDel) Update_Var() error { + if Crud_WLogMessageDel == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_WLogMessageDel.Update_Var(m) + + return err +} diff --git a/bin/notifier_service/pkg/object_model/entities/w_options/w_options.go b/bin/notifier_service/pkg/object_model/entities/w_options/w_options.go new file mode 100644 index 0000000..5a7ab00 --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/w_options/w_options.go @@ -0,0 +1,10 @@ +package w_options + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/tables/table_w_options" +) + +// WOption - модель для таблицы w_options: +type WOption struct { + table_w_options.Table_WOption +} diff --git a/bin/notifier_service/pkg/object_model/entities/w_options/w_options_crud.go b/bin/notifier_service/pkg/object_model/entities/w_options/w_options_crud.go new file mode 100644 index 0000000..2b6db3e --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/w_options/w_options_crud.go @@ -0,0 +1,178 @@ +//Файл создан автоматически кодогенератором crud_generator +//Не изменяйте ничего здесь. + +package w_options + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/constants" + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/calc_struct_version" + "encoding/json" + "github.com/vmihailenco/msgpack/v5" + "reflect" +) + +// versionWOption - версия структуры модели, с учётом имен и типов полей +var versionWOption uint32 + +// Crud_WOption - объект контроллер crud операций +var Crud_WOption ICrud_WOption + +// интерфейс стандартных CRUD операций, для использования в DB или GRPC или NRPC +type ICrud_WOption interface { + Read(*WOption) error + Save(*WOption) error + Update(*WOption) error + Create(*WOption) error + ReadFromCache(ID int64) (WOption, error) + UpdateManyFields(*WOption, []string) error + Update_Description(*WOption) error + Update_IsActiv(*WOption) error + Update_Name(*WOption) error + Update_ValBool(*WOption) error + Update_ValDt(*WOption) error + Update_ValInt(*WOption) error + Update_ValStr(*WOption) error +} + +// TableName - возвращает имя таблицы в БД +func (m WOption) TableNameDB() string { + return "w_options" +} + +// NewWOption - возвращает новый объект +func NewWOption() WOption { + return WOption{} +} + +// AsWOption - создаёт объект из упакованного объекта в массиве байтов +func AsWOption(b []byte) (WOption, error) { + c := NewWOption() + err := msgpack.Unmarshal(b, &c) + if err != nil { + return NewWOption(), err + } + return c, nil +} + +// WOptionAsBytes - упаковывает объект в массив байтов +func WOptionAsBytes(m *WOption) ([]byte, error) { + b, err := msgpack.Marshal(m) + if err != nil { + return nil, err + } + return b, nil +} + +// GetStructVersion - возвращает версию модели +func (m WOption) GetStructVersion() uint32 { + if versionWOption == 0 { + versionWOption = calc_struct_version.CalcStructVersion(reflect.TypeOf(m)) + } + + return versionWOption +} + +// GetModelFromJSON - создаёт модель из строки json +func (m *WOption) GetModelFromJSON(sModel string) error { + var err error + + var bytes []byte + bytes = []byte(sModel) + + err = json.Unmarshal(bytes, m) + + return err +} + +// GetJSON - возвращает строку json из модели +func (m WOption) GetJSON() (string, error) { + var ReturnVar string + var err error + + bytes, err := json.Marshal(m) + if err != nil { + return ReturnVar, err + } + ReturnVar = string(bytes) + return ReturnVar, err +} + +// ---------------------------- CRUD операции ------------------------------------------------------------ + +// Read - находит запись в БД по ID, и заполняет в объект +func (m *WOption) Read() error { + if Crud_WOption == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_WOption.Read(m) + + return err +} + +// Save - записывает объект в БД по ID +func (m *WOption) Save() error { + if Crud_WOption == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_WOption.Save(m) + + return err +} + +// Update - обновляет объект в БД по ID +func (m *WOption) Update() error { + if Crud_WOption == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_WOption.Update(m) + + return err +} + +// Create - создаёт объект в БД с новым ID +func (m *WOption) Create() error { + if Crud_WOption == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_WOption.Create(m) + + return err +} + +// ReadFromCache - находит запись в кэше или в БД по ID, и заполняет в объект +func (m *WOption) ReadFromCache(ID int64) (WOption, error) { + Otvet := WOption{} + var err error + + if Crud_WOption == nil { + return Otvet, constants.ErrorCrudIsNotInit + } + + Otvet, err = Crud_WOption.ReadFromCache(ID) + + return Otvet, err +} + +// SetCrudInterface - заполняет интерфейс crud: DB, GRPC, NRPC +func (m WOption) SetCrudInterface(crud ICrud_WOption) { + Crud_WOption = crud + + return +} + +// UpdateManyFields - находит запись в БД по ID, и изменяет только нужные колонки +func (m *WOption) UpdateManyFields(MassNeedUpdateFields []string) error { + if Crud_WOption == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_WOption.UpdateManyFields(m, MassNeedUpdateFields) + + return err +} + +// ---------------------------- конец CRUD операции ------------------------------------------------------------ diff --git a/bin/notifier_service/pkg/object_model/entities/w_options/w_options_manual.go b/bin/notifier_service/pkg/object_model/entities/w_options/w_options_manual.go new file mode 100644 index 0000000..47feebb --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/w_options/w_options_manual.go @@ -0,0 +1,15 @@ +package w_options + +// Crud_manual_WOption - объект контроллер crud операций +var Crud_manual_WOption ICrud_manual_WOption + +// интерфейс CRUD операций сделанных вручную, для использования в DB или GRPC или NRPC +type ICrud_manual_WOption interface { +} + +// SetCrudManualInterface - заполняет интерфейс crud: DB, GRPC, NRPC +func (m WOption) SetCrudManualInterface(crud ICrud_manual_WOption) { + Crud_manual_WOption = crud + + return +} diff --git a/bin/notifier_service/pkg/object_model/entities/w_options/w_options_update.go b/bin/notifier_service/pkg/object_model/entities/w_options/w_options_update.go new file mode 100644 index 0000000..8aedcef --- /dev/null +++ b/bin/notifier_service/pkg/object_model/entities/w_options/w_options_update.go @@ -0,0 +1,83 @@ +package w_options + +import ( + "gitlab.aescorp.ru/dsp_dev/claim/notifier_service/pkg/db/constants" + ) + + +// Update_Description - изменяет объект в БД по ID, присваивает Description +func (m *WOption) Update_Description() error { + if Crud_WOption == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_WOption.Update_Description(m) + + return err +} + +// Update_IsActiv - изменяет объект в БД по ID, присваивает IsActiv +func (m *WOption) Update_IsActiv() error { + if Crud_WOption == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_WOption.Update_IsActiv(m) + + return err +} + +// Update_Name - изменяет объект в БД по ID, присваивает Name +func (m *WOption) Update_Name() error { + if Crud_WOption == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_WOption.Update_Name(m) + + return err +} + +// Update_ValBool - изменяет объект в БД по ID, присваивает ValBool +func (m *WOption) Update_ValBool() error { + if Crud_WOption == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_WOption.Update_ValBool(m) + + return err +} + +// Update_ValDt - изменяет объект в БД по ID, присваивает ValDt +func (m *WOption) Update_ValDt() error { + if Crud_WOption == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_WOption.Update_ValDt(m) + + return err +} + +// Update_ValInt - изменяет объект в БД по ID, присваивает ValInt +func (m *WOption) Update_ValInt() error { + if Crud_WOption == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_WOption.Update_ValInt(m) + + return err +} + +// Update_ValStr - изменяет объект в БД по ID, присваивает ValStr +func (m *WOption) Update_ValStr() error { + if Crud_WOption == nil { + return constants.ErrorCrudIsNotInit + } + + err := Crud_WOption.Update_ValStr(m) + + return err +} diff --git a/bin/notifier_service/scripts/VersionToFile.py b/bin/notifier_service/scripts/VersionToFile.py new file mode 100755 index 0000000..c768562 --- /dev/null +++ b/bin/notifier_service/scripts/VersionToFile.py @@ -0,0 +1,52 @@ +#!/usr/bin/python3 +# Python script to create an empty file +# with current date as name. + +# importing datetime module +from datetime import datetime +import os + +# datetime.datetime.now() to get +# current date as filename. +# TimeNow = datetime.datetime.now() + +FILESUBVERSION="../bin/subversion.txt" +FILEDATE="../bin/date.txt" + +# create empty file +def create_file(): + fmt = "%Y-%m-%d %H:%M:%S.%f" + str1 = datetime.utcnow().strftime(fmt)[:-3] + + # Function creates an empty file + # %d - date, %B - month, %Y - Year + with open(FILEDATE, "w") as file: + file.write(str1) + file.close() + +def set_version(): + filename=FILESUBVERSION + build=0 + mode = 'r' if os.path.exists(filename) else 'w+' + with open(filename, encoding="utf8", mode=mode) as file_in: + _str_build = file_in.read() + file_in.close() + try: + build = int(_str_build) + except ValueError as err: + print("Build.__setVers(): при конвертировании строки в число, err=", err) + finally: + pass + build += 1 + str_build = str(build) + while len(str_build) < 5: + str_build = "0" + str_build + print("Build.set_version(): new build=", str_build) + with open(filename, "w", encoding="utf8") as file_in: + file_in.write(str_build) + file_in.close() + + +# Driver Code +create_file() +set_version() \ No newline at end of file diff --git a/bin/templates/configs_/mapping.json b/bin/templates/configs_/mapping.json index 7f5fd24..8909743 100644 --- a/bin/templates/configs_/mapping.json +++ b/bin/templates/configs_/mapping.json @@ -446,11 +446,11 @@ }, { "sql_type": "uuid", - "go_type": "string", + "go_type": "uuid.UUID", "json_type": "Text", "protobuf_type": "string", "guregu_type": "null.String", - "go_nullable_type": "sql.NullString", + "go_nullable_type": "uuid.NullUUID", "swagger_type": "string" }, { diff --git a/bin/templates/configs_/mapping.json_old b/bin/templates/configs_/mapping.json_old new file mode 100644 index 0000000..7f5fd24 --- /dev/null +++ b/bin/templates/configs_/mapping.json_old @@ -0,0 +1,571 @@ +{ + "mappings": [ + { + "sql_type": "bit", + "go_type": "bool", + "json_type": "Boolean", + "protobuf_type": "bool", + "guregu_type": "null.Int", + "go_nullable_type": "sql.NullBool", + "swagger_type": "bool" + }, + { + "sql_type": "bool", + "go_type": "bool", + "json_type": "Boolean", + "protobuf_type": "bool", + "guregu_type": "null.Int", + "go_nullable_type": "sql.NullBool", + "swagger_type": "bool" + }, + { + "sql_type": "tinyint", + "go_type": "int32", + "json_type": "Integer", + "protobuf_type": "int32", + "guregu_type": "null.Int", + "go_nullable_type": "sql.NullInt32", + "swagger_type": "int" + }, + { + "sql_type": "int", + "go_type": "int32", + "json_type": "Integer", + "protobuf_type": "int32", + "guregu_type": "null.Int", + "go_nullable_type": "sql.NullInt32", + "swagger_type": "int" + }, + { + "sql_type": "smallint", + "size": 2, + "go_type": "int32", + "json_type": "Integer", + "protobuf_type": "int32", + "guregu_type": "null.Int", + "go_nullable_type": "sql.NullInt32", + "swagger_type": "int" + }, + { + "sql_type": "mediumint", + "go_type": "int32", + "json_type": "Integer", + "protobuf_type": "int32", + "guregu_type": "null.Int", + "go_nullable_type": "sql.NullInt32", + "swagger_type": "int" + }, + { + "sql_type": "int4", + "go_type": "int32", + "json_type": "Integer", + "protobuf_type": "int32", + "guregu_type": "null.Int", + "go_nullable_type": "sql.NullInt32", + "swagger_type": "int" + }, + { + "sql_type": "int2", + "go_type": "int32", + "json_type": "Integer", + "protobuf_type": "int32", + "guregu_type": "null.Int", + "go_nullable_type": "sql.NullInt32", + "swagger_type": "int" + }, + { + "sql_type": "integer", + "go_type": "int32", + "json_type": "Integer", + "protobuf_type": "int32", + "guregu_type": "null.Int", + "go_nullable_type": "sql.NullInt32", + "swagger_type": "int" + }, + { + "sql_type": "bigint", + "go_type": "int64", + "json_type": "Integer", + "protobuf_type": "int64", + "guregu_type": "null.Int", + "go_nullable_type": "sql.NullInt64", + "swagger_type": "int64" + }, + { + "sql_type": "int8", + "go_type": "int64", + "json_type": "Integer", + "protobuf_type": "int64", + "guregu_type": "null.Int", + "go_nullable_type": "sql.NullInt64", + "swagger_type": "int64" + }, + { + "sql_type": "char", + "go_type": "string", + "json_type": "Text", + "protobuf_type": "string", + "guregu_type": "null.String", + "go_nullable_type": "sql.NullString", + "swagger_type": "string" + }, + { + "sql_type": "enum", + "go_type": "string", + "json_type": "Text", + "protobuf_type": "string", + "guregu_type": "null.String", + "go_nullable_type": "sql.NullString", + "swagger_type": "string" + }, + { + "sql_type": "varchar", + "go_type": "string", + "json_type": "Text", + "protobuf_type": "string", + "guregu_type": "null.String", + "go_nullable_type": "sql.NullString", + "swagger_type": "string" + }, + { + "sql_type": "nvarchar", + "go_type": "string", + "json_type": "Text", + "protobuf_type": "string", + "guregu_type": "null.String", + "go_nullable_type": "sql.NullString", + "swagger_type": "string" + }, + { + "sql_type": "longtext", + "go_type": "string", + "json_type": "Text", + "protobuf_type": "string", + "guregu_type": "null.String", + "go_nullable_type": "sql.NullString", + "swagger_type": "string" + }, + { + "sql_type": "mediumtext", + "go_type": "string", + "json_type": "Text", + "protobuf_type": "string", + "guregu_type": "null.String", + "go_nullable_type": "sql.NullString", + "swagger_type": "string" + }, + { + "sql_type": "text", + "go_type": "string", + "json_type": "Text", + "protobuf_type": "string", + "guregu_type": "null.String", + "go_nullable_type": "sql.NullString", + "swagger_type": "string" + }, + { + "sql_type": "tinytext", + "go_type": "string", + "json_type": "Text", + "protobuf_type": "string", + "guregu_type": "null.String", + "go_nullable_type": "sql.NullString", + "swagger_type": "string" + }, + { + "sql_type": "varchar2", + "go_type": "string", + "json_type": "Text", + "protobuf_type": "string", + "guregu_type": "null.String", + "go_nullable_type": "sql.NullString", + "swagger_type": "string" + }, + { + "sql_type": "inet", + "go_type": "string", + "json_type": "Text", + "protobuf_type": "string", + "guregu_type": "null.String", + "go_nullable_type": "sql.NullString", + "swagger_type": "string" + }, + { + "sql_type": "json", + "go_type": "string", + "json_type": "Text", + "protobuf_type": "string", + "guregu_type": "datatypes.JSON", + "go_nullable_type": "sql.NullString", + "swagger_type": "string" + }, + { + "sql_type": "jsonb", + "go_type": "string", + "json_type": "Text", + "protobuf_type": "string", + "guregu_type": "datatypes.JSON", + "go_nullable_type": "sql.NullString", + "swagger_type": "string" + }, + { + "sql_type": "nchar", + "go_type": "string", + "json_type": "Text", + "protobuf_type": "string", + "guregu_type": "null.String", + "go_nullable_type": "sql.NullString", + "swagger_type": "string" + }, + { + "sql_type": "date", + "go_type": "time.Time", + "json_type": "Text", + "protobuf_type": "google.protobuf.Timestamp", + "guregu_type": "null.Time", + "go_nullable_type": "time.Time", + "swagger_type": "time.Time" + }, + { + "sql_type": "datetime2", + "go_type": "time.Time", + "json_type": "Text", + "protobuf_type": "google.protobuf.Timestamp", + "guregu_type": "null.Time", + "go_nullable_type": "time.Time", + "swagger_type": "time.Time" + }, + { + "sql_type": "datetime", + "go_type": "time.Time", + "json_type": "Text", + "protobuf_type": "google.protobuf.Timestamp", + "guregu_type": "null.Time", + "go_nullable_type": "time.Time", + "swagger_type": "time.Time" + }, + { + "sql_type": "time", + "go_type": "time.Time", + "json_type": "Text", + "protobuf_type": "google.protobuf.Timestamp", + "guregu_type": "null.Time", + "go_nullable_type": "time.Time", + "swagger_type": "time.Time" + }, + { + "sql_type": "timestamp", + "go_type": "time.Time", + "json_type": "Text", + "protobuf_type": "uint64", + "guregu_type": "null.Time", + "go_nullable_type": "time.Time", + "swagger_type": "time.Time" + }, + { + "sql_type": "timestamptz", + "go_type": "time.Time", + "json_type": "Text", + "protobuf_type": "uint64", + "guregu_type": "null.Time", + "go_nullable_type": "time.Time", + "swagger_type": "time.Time" + }, + { + "sql_type": "smalldatetime", + "go_type": "time.Time", + "json_type": "Text", + "protobuf_type": "google.protobuf.Timestamp", + "guregu_type": "null.Time", + "go_nullable_type": "time.Time", + "swagger_type": "time.Time" + }, + { + "sql_type": "decimal", + "go_type": "float64", + "json_type": "Float", + "protobuf_type": "float", + "guregu_type": "null.Float", + "go_nullable_type": "sql.NullFloat64", + "swagger_type": "float64" + }, + { + "sql_type": "double", + "go_type": "float64", + "json_type": "Float", + "protobuf_type": "float", + "guregu_type": "null.Float", + "go_nullable_type": "sql.NullFloat64", + "swagger_type": "float64" + }, + { + "sql_type": "money", + "go_type": "float64", + "json_type": "Float", + "protobuf_type": "float", + "guregu_type": "null.Float", + "go_nullable_type": "sql.NullFloat64", + "swagger_type": "float64" + }, + { + "sql_type": "real", + "go_type": "float64", + "json_type": "Float", + "protobuf_type": "float", + "guregu_type": "null.Float", + "go_nullable_type": "sql.NullFloat64", + "swagger_type": "float64" + }, + { + "sql_type": "float4", + "go_type": "float32", + "json_type": "Float", + "protobuf_type": "float", + "guregu_type": "null.Float", + "go_nullable_type": "sql.NullFloat64", + "swagger_type": "float32" + }, + + { + "sql_type": "float", + "go_type": "float32", + "json_type": "Float", + "protobuf_type": "float", + "guregu_type": "null.Float", + "go_nullable_type": "sql.NullFloat64", + "swagger_type": "float32" + }, + { + "sql_type": "float8", + "go_type": "float64", + "json_type": "Float", + "protobuf_type": "float", + "guregu_type": "null.Float", + "go_nullable_type": "sql.NullFloat64", + "swagger_type": "float64" + }, + + { + "sql_type": "binary", + "go_type": "[]byte", + "json_type": "Text", + "protobuf_type": "bytes", + "guregu_type": "[]byte", + "go_nullable_type": "[]byte", + "swagger_type": "[]byte" + }, + { + "sql_type": "blob", + "go_type": "[]byte", + "json_type": "Text", + "protobuf_type": "bytes", + "guregu_type": "[]byte", + "go_nullable_type": "[]byte", + "swagger_type": "[]byte" + }, + { + "sql_type": "longblob", + "go_type": "[]byte", + "json_type": "Text", + "protobuf_type": "bytes", + "guregu_type": "[]byte", + "go_nullable_type": "[]byte", + "swagger_type": "[]byte" + }, + { + "sql_type": "mediumblob", + "go_type": "[]byte", + "json_type": "Text", + "protobuf_type": "bytes", + "guregu_type": "[]byte", + "go_nullable_type": "[]byte", + "swagger_type": "[]byte" + }, + { + "sql_type": "varbinary", + "go_type": "[]byte", + "json_type": "Text", + "protobuf_type": "bytes", + "guregu_type": "[]byte", + "go_nullable_type": "[]byte", + "swagger_type": "[]byte" + }, + { + "sql_type": "numeric", + "go_type": "float64", + "json_type": "Float", + "protobuf_type": "float", + "guregu_type": "null.Float", + "go_nullable_type": "sql.NullFloat64", + "swagger_type": "float64" + }, + { + "sql_type": "bpchar", + "go_type": "string", + "json_type": "Text", + "protobuf_type": "string", + "guregu_type": "null.String", + "go_nullable_type": "sql.NullString", + "swagger_type": "string" + }, + { + "sql_type": "tsvector", + "go_type": "string", + "json_type": "Text", + "protobuf_type": "string", + "guregu_type": "null.String", + "go_nullable_type": "sql.NullString", + "swagger_type": "string" + }, + { + "sql_type": "_text", + "go_type": "string", + "json_type": "Text", + "protobuf_type": "string", + "guregu_type": "null.String", + "go_nullable_type": "sql.NullString", + "swagger_type": "string" + }, + { + "sql_type": "bytea", + "go_type": "string", + "json_type": "Text", + "protobuf_type": "string", + "guregu_type": "null.String", + "go_nullable_type": "sql.NullString", + "swagger_type": "string" + }, + { + "sql_type": "USER_DEFINED", + "go_type": "string", + "json_type": "Text", + "protobuf_type": "bytes", + "guregu_type": "interface{}", + "go_nullable_type": "sql.NullString", + "swagger_type": "string" + }, + { + "sql_type": "uuid", + "go_type": "string", + "json_type": "Text", + "protobuf_type": "string", + "guregu_type": "null.String", + "go_nullable_type": "sql.NullString", + "swagger_type": "string" + }, + { + "sql_type": "", + "go_type": "string", + "json_type": "Text", + "protobuf_type": "bytes", + "guregu_type": "interface{}", + "go_nullable_type": "sql.NullString", + "swagger_type": "string" + }, + { + "sql_type": "utinyint", + "go_type": "uint32", + "json_type": "Integer", + "protobuf_type": "uint32", + "guregu_type": "null.Int", + "go_nullable_type": "sql.NullInt64", + "swagger_type": "int" + }, + { + "sql_type": "usmallint", + "go_type": "uint32", + "json_type": "Integer", + "protobuf_type": "uint32", + "guregu_type": "null.Int", + "go_nullable_type": "sql.NullInt64", + "swagger_type": "int" + }, + { + "sql_type": "umediumint", + "go_type": "uint32", + "json_type": "Integer", + "protobuf_type": "uint32", + "guregu_type": "null.Int", + "go_nullable_type": "sql.NullInt64", + "swagger_type": "int" + }, + { + "sql_type": "uint", + "go_type": "uint32", + "json_type": "Integer", + "protobuf_type": "uint32", + "guregu_type": "null.Int", + "go_nullable_type": "sql.NullInt64", + "swagger_type": "int" + }, + { + "sql_type": "ubigint", + "go_type": "uint64", + "json_type": "Integer", + "protobuf_type": "uint64", + "guregu_type": "null.Int", + "go_nullable_type": "sql.NullInt64", + "swagger_type": "int64" + }, + { + "sql_type": "udecimal", + "go_type": "float64", + "json_type": "Float", + "protobuf_type": "float", + "guregu_type": "null.Float", + "go_nullable_type": "sql.NullFloat64", + "swagger_type": "float64" + }, + { + "sql_type": "udouble", + "go_type": "float64", + "json_type": "Float", + "protobuf_type": "float", + "guregu_type": "null.Float", + "go_nullable_type": "sql.NullFloat64", + "swagger_type": "float64" + }, + { + "sql_type": "ufloat", + "go_type": "float32", + "json_type": "Float", + "protobuf_type": "float", + "guregu_type": "null.Float", + "go_nullable_type": "sql.NullFloat64", + "swagger_type": "float32" + }, + { + "sql_type": "smallserial", + "size": 2, + "custom": "postgres", + "go_type": "int32", + "json_type": "Integer", + "protobuf_type": "int32", + "guregu_type": "null.Int", + "go_nullable_type": "sql.NullInt64", + "swagger_type": "int" + }, + { + "sql_type": "serial", + "size": 4, + "custom": "postgres", + "go_type": "int32", + "json_type": "Integer", + "protobuf_type": "int32", + "guregu_type": "null.Int", + "go_nullable_type": "sql.NullInt64", + "swagger_type": "int" + }, + { + "sql_type": "bigserial", + "size": 8, + "custom": "postgres", + "go_type": "int32", + "json_type": "Integer", + "protobuf_type": "int32", + "guregu_type": "null.Int", + "go_nullable_type": "sql.NullInt64", + "swagger_type": "int" + } + ] +} diff --git a/go.mod b/go.mod index 9e6671f..97f4d3c 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,7 @@ module github.com/ManyakRus/crud_generator go 1.20 require ( - github.com/ManyakRus/starter v1.0.10 + github.com/ManyakRus/starter v1.0.22 github.com/bxcodec/faker/v3 v3.8.1 github.com/davecgh/go-spew v1.1.1 github.com/iancoleman/strcase v0.3.0 @@ -14,14 +14,14 @@ require ( github.com/otiai10/copy v1.14.0 github.com/serenize/snaker v0.0.0-20201027110005-a7ad2135616e golang.org/x/tools v0.19.0 - gorm.io/gorm v1.25.7 + gorm.io/gorm v1.25.9 ) require ( github.com/ManyakRus/logrus v0.0.0-20231019115155-9e6fede0d792 // indirect github.com/jackc/pgpassfile v1.0.0 // indirect github.com/jackc/pgservicefile v0.0.0-20231201235250-de7065d80cb9 // indirect - github.com/jackc/pgx/v5 v5.5.4 // indirect + github.com/jackc/pgx/v5 v5.5.5 // indirect github.com/jackc/puddle/v2 v2.2.1 // indirect github.com/jinzhu/now v1.1.5 // indirect github.com/joho/godotenv v1.5.1 // indirect @@ -30,6 +30,5 @@ require ( golang.org/x/sync v0.6.0 // indirect golang.org/x/sys v0.18.0 // indirect golang.org/x/text v0.14.0 // indirect - google.golang.org/protobuf v1.33.0 // indirect - gorm.io/driver/postgres v1.5.6 // indirect + gorm.io/driver/postgres v1.5.7 // indirect ) diff --git a/go.sum b/go.sum index 38fae1b..7f08b65 100644 --- a/go.sum +++ b/go.sum @@ -3,8 +3,8 @@ github.com/Azure/azure-sdk-for-go/sdk/azidentity v0.11.0/go.mod h1:HcM1YX14R7CJc github.com/Azure/azure-sdk-for-go/sdk/internal v0.7.0/go.mod h1:yqy467j36fJxcRV2TzfVZ1pCb5vxm4BtZPUdYWe/Xo8= github.com/ManyakRus/logrus v0.0.0-20231019115155-9e6fede0d792 h1:bxwxD0H3kSUAH3uNk/b74gkImcUiP7dyibmMoVwk338= github.com/ManyakRus/logrus v0.0.0-20231019115155-9e6fede0d792/go.mod h1:OUyxCVbPW/2lC1e6cM7Am941SJiC88BhNnb24x2R3a8= -github.com/ManyakRus/starter v1.0.10 h1:7KMmVKEi7uogtg6+Z2RQEq08i4ynUgq+dWPSeUfAwGw= -github.com/ManyakRus/starter v1.0.10/go.mod h1:bIpOiyctURuRRuEJs0xCsBPvpoZFbpFEPX37wTvtuOI= +github.com/ManyakRus/starter v1.0.22 h1:M8XCr1pbTS/azHDSLp9H7HowgxlU1ONp/nfamHs42R4= +github.com/ManyakRus/starter v1.0.22/go.mod h1:E9SpMjRb4E/ycq7xUj5BC/+ab4TNCFnHMtiM1qzvCBI= github.com/bxcodec/faker/v3 v3.8.1 h1:qO/Xq19V6uHt2xujwpaetgKhraGCapqY2CRWGD/SqcM= github.com/bxcodec/faker/v3 v3.8.1/go.mod h1:DdSDccxF5msjFo5aO4vrobRQ8nIApg8kq3QWPEQD6+o= github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= @@ -62,8 +62,8 @@ github.com/jackc/pgpassfile v1.0.0 h1:/6Hmqy13Ss2zCq62VdNG8tM1wchn8zjSGOBJ6icpsI github.com/jackc/pgpassfile v1.0.0/go.mod h1:CEx0iS5ambNFdcRtxPj5JhEz+xB6uRky5eyVu/W2HEg= github.com/jackc/pgservicefile v0.0.0-20231201235250-de7065d80cb9 h1:L0QtFUgDarD7Fpv9jeVMgy/+Ec0mtnmYuImjTz6dtDA= github.com/jackc/pgservicefile v0.0.0-20231201235250-de7065d80cb9/go.mod h1:5TJZWKEWniPve33vlWYSoGYefn3gLQRzjfDlhSJ9ZKM= -github.com/jackc/pgx/v5 v5.5.4 h1:Xp2aQS8uXButQdnCMWNmvx6UysWQQC+u1EoizjguY+8= -github.com/jackc/pgx/v5 v5.5.4/go.mod h1:ez9gk+OAat140fv9ErkZDYFWmXLfV+++K0uAOiwgm1A= +github.com/jackc/pgx/v5 v5.5.5 h1:amBjrZVmksIdNjxGW/IiIMzxMKZFelXbUoPNb+8sjQw= +github.com/jackc/pgx/v5 v5.5.5/go.mod h1:ez9gk+OAat140fv9ErkZDYFWmXLfV+++K0uAOiwgm1A= github.com/jackc/puddle/v2 v2.2.1 h1:RhxXJtFG022u4ibrCSMSiu5aOq1i77R3OHKNJj77OAk= github.com/jackc/puddle/v2 v2.2.1/go.mod h1:vriiEXHvEE654aYKXXjOvZM39qJ0q+azkZFrfEOc3H4= github.com/jimsmart/schema v0.2.1 h1:MsSsqq0i86bUskhJJZ6RnrgscbDeBMalLZym6Hx9l3U= @@ -79,7 +79,7 @@ github.com/lib/pq v1.10.9 h1:YXG7RB+JIjhP29X+OtkiDnYaXQwpS4JEWq7dtCCRUEw= github.com/logrusorgru/aurora v2.0.3+incompatible h1:tOpm7WcpBTn4fjmVfgpQq0EfczGlG91VSDkswnjF5A8= github.com/logrusorgru/aurora v2.0.3+incompatible/go.mod h1:7rIyQOR62GCctdiQpZ/zOJlFyk6y+94wXzv6RNZgaR4= github.com/mattn/go-sqlite3 v1.14.16/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg= -github.com/mattn/go-sqlite3 v1.14.19 h1:fhGleo2h1p8tVChob4I9HpmVFIAkKGpiukdrgQbWfGI= +github.com/mattn/go-sqlite3 v1.14.22 h1:2gZY6PC6kBnID23Tichd1K+Z0oS6nE/XwU+Vz/5o4kU= github.com/modocache/gover v0.0.0-20171022184752-b58185e213c5/go.mod h1:caMODM3PzxT8aQXRPkAt8xlV/e7d7w8GM5g0fa5F0D8= github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= @@ -123,7 +123,7 @@ github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+ github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= +github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= @@ -239,7 +239,6 @@ google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQ google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI= -google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= @@ -253,8 +252,8 @@ gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gorm.io/driver/postgres v1.5.6 h1:ydr9xEd5YAM0vxVDY0X139dyzNz10spDiDlC7+ibLeU= -gorm.io/driver/postgres v1.5.6/go.mod h1:3e019WlBaYI5o5LIdNV+LyxCMNtLOQETBXL2h4chKpA= +gorm.io/driver/postgres v1.5.7 h1:8ptbNJTDbEmhdr62uReG5BGkdQyeasu/FZHxI0IMGnM= +gorm.io/driver/postgres v1.5.7/go.mod h1:3e019WlBaYI5o5LIdNV+LyxCMNtLOQETBXL2h4chKpA= gorm.io/gorm v1.25.4/go.mod h1:L4uxeKpfBml98NYqVqwAdmV1a2nBtAec/cf3fpucW/k= -gorm.io/gorm v1.25.7 h1:VsD6acwRjz2zFxGO50gPO6AkNs7KKnvfzUjHQhZDz/A= -gorm.io/gorm v1.25.7/go.mod h1:hbnx/Oo0ChWMn1BIhpy1oYozzpM15i4YPuHDmfYtwg8= +gorm.io/gorm v1.25.9 h1:wct0gxZIELDk8+ZqF/MVnHLkA1rvYlBWUMv2EdsK1g8= +gorm.io/gorm v1.25.9/go.mod h1:hbnx/Oo0ChWMn1BIhpy1oYozzpM15i4YPuHDmfYtwg8= diff --git a/internal/create_files/create_files.go b/internal/create_files/create_files.go index a176fdf..f71de30 100644 --- a/internal/create_files/create_files.go +++ b/internal/create_files/create_files.go @@ -138,7 +138,7 @@ func FindPrimaryKeyNameTypeGo(Table1 *types.Table) (string, string) { Type := "" for _, Column1 := range Table1.MapColumns { - if Column1.IsIdentity == true { + if Column1.IsPrimaryKey == true { return Column1.NameGo, Column1.TypeGo } } @@ -152,7 +152,7 @@ func FindPrimaryKeyNameType(Table1 *types.Table) (string, string) { Type := "" for _, Column1 := range Table1.MapColumns { - if Column1.IsIdentity == true { + if Column1.IsPrimaryKey == true { return Column1.Name, Column1.Type } } @@ -464,6 +464,8 @@ func FindTextDefaultGORMValue(Column1 *types.Column) string { sValue = "0" case "time.Time": sValue = "null" + case "uuid.UUID", "uuid.NullUUID": + sValue = "null" } } @@ -474,7 +476,7 @@ func FindTextDefaultGORMValue(Column1 *types.Column) string { return Otvet } -// FindTextDefaultValue - возвращает значение по умолчанию для типа +// FindTextDefaultValue - возвращает golang значение по умолчанию для типа func FindTextDefaultValue(Type_go string) string { var Otvet string @@ -487,6 +489,8 @@ func FindTextDefaultValue(Type_go string) string { Otvet = "time.Time{}" case "bool": Otvet = "false" + case "uuid.UUID", "uuid.NullUUID": + Otvet = "nil" } return Otvet @@ -505,6 +509,8 @@ func FindTextDefaultValueSQL(Type_go string) string { Otvet = "null" case "bool": Otvet = "false" + case "uuid.UUID", "uuid.NullUUID": + Otvet = "nil" } return Otvet @@ -1395,3 +1401,9 @@ func FillVariable(Text, VariableName, Value string) string { return Otvet } + +// Is_UUID_Type - проверяет является ли тип UUID +func Is_UUID_Type(TypeGo string) bool { + Otvet := TypeGo == "uuid.UUID" || TypeGo == "uuid.NullUUID" + return Otvet +} diff --git a/internal/create_files/db_tables/db_tables.go b/internal/create_files/db_tables/db_tables.go index c6a416d..fea6781 100644 --- a/internal/create_files/db_tables/db_tables.go +++ b/internal/create_files/db_tables/db_tables.go @@ -215,7 +215,7 @@ func FindTextColumn(TextModel string, Table1 *types.Table, Column1 *types.Column TextModel, Type_go = FindColumnTypeGoImport(TextModel, Table1, Column1) //Column1.TypeGo = Type_go TextDefaultValue := "" - if Column1.IsIdentity == false { + if Column1.IsPrimaryKey == false { TextDefaultValue = create_files.FindTextDefaultGORMValue(Column1) } TextPrimaryKey := FindTextPrimaryKey(Column1.IsIdentity) diff --git a/internal/create_files/model_tables/model_tables.go b/internal/create_files/model_tables/model_tables.go index 8fbe682..0b046b4 100644 --- a/internal/create_files/model_tables/model_tables.go +++ b/internal/create_files/model_tables/model_tables.go @@ -322,7 +322,7 @@ func FindTextColumn(TextModel string, Table1 *types.Table, Column1 *types.Column TextModel, Type_go = FindColumnTypeGoImport(TextModel, Table1, Column1) //Column1.TypeGo = Type_go TextDefaultValue := "" - if Column1.IsIdentity == false { + if Column1.IsPrimaryKey == false { TextDefaultValue = create_files.FindTextDefaultGORMValue(Column1) } TextPrimaryKey := FindTextPrimaryKey(Column1.IsIdentity) diff --git a/internal/postgres/postgres.go b/internal/postgres/postgres.go index 6a3d0a5..97db786 100644 --- a/internal/postgres/postgres.go +++ b/internal/postgres/postgres.go @@ -13,7 +13,6 @@ import ( "github.com/ManyakRus/starter/contextmain" "github.com/ManyakRus/starter/log" "github.com/ManyakRus/starter/postgres_gorm" - "gorm.io/gorm" "strings" "time" ) @@ -28,6 +27,7 @@ type TableColumn struct { ColumnTableKey string `json:"table_key" gorm:"column:table_key;default:''"` ColumnColumnKey string `json:"column_key" gorm:"column:column_key;default:''"` TableComment string `json:"table_comment" gorm:"column:table_comment;default:''"` + IsPrimaryKey bool `json:"is_primary_key" gorm:"column:is_primary_key;default:false"` } type TableRowsStruct struct { @@ -66,6 +66,30 @@ WHERE 1=1 --AND c.confrelid!=c.conrelid ; + +------------------------------------------- Все primary keys ------------------------------ +drop table if exists temp_primary_keys; +CREATE TEMPORARY TABLE temp_primary_keys (table_name text, column_name text); + +insert into temp_primary_keys +select + ccu.table_name, + max(ccu.column_name) as column_name + +from pg_constraint pgc + join pg_namespace nsp on nsp.oid = pgc.connamespace + join pg_class cls on pgc.conrelid = cls.oid + left join information_schema.constraint_column_usage ccu + on pgc.conname = ccu.constraint_name + and nsp.nspname = ccu.constraint_schema +WHERE 1=1 + and ccu.table_schema = 'notifier_dev' + and contype = 'p' + +GROUP BY + ccu.table_name +HAVING sum(1)=1 +; ------------------------------------------- Все таблицы и колонки ------------------------------ SELECT @@ -77,7 +101,12 @@ SELECT COALESCE(pgd.description, '') as description, COALESCE(keys.table_to, '') as table_key, COALESCE(keys.column_to, '') as column_key, - (SELECT obj_description(oid) FROM pg_class as r WHERE relkind = 'r' and r.oid = st.relid) as table_comment + (SELECT obj_description(oid) FROM pg_class as r WHERE relkind = 'r' and r.oid = st.relid) as table_comment, + CASE + WHEN tpk.table_name is not null + THEN true + ELSE false END + as is_primary_key FROM pg_catalog.pg_statio_all_tables as st @@ -110,6 +139,12 @@ ON and v.table_name = c.table_name +LEFT JOIN + temp_primary_keys as tpk +ON + tpk.table_name = c.table_name + and tpk.column_name = c.column_name + where 1=1 and c.table_schema='public' and v.table_name is null @@ -149,22 +184,27 @@ order by //запрос //запустим все запросы отдельно - var tx *gorm.DB - sqlSlice := strings.Split(TextSQL, ";") - len1 := len(sqlSlice) - for i, TextSQL1 := range sqlSlice { - //batch.Queue(TextSQL1) - if i == len1-1 { - tx = db.Raw(TextSQL1) - } else { - tx = db.Exec(TextSQL1) - //rows.Close() - } - err = tx.Error - if err != nil { - log.Panic("DB.Raw() error:", err) - } + tx := postgres_gorm.RawMultipleSQL(db, TextSQL) + err = tx.Error + if err != nil { + log.Panic("RawMultipleSQL() error:", err) } + //var tx *gorm.DB + //sqlSlice := strings.Split(TextSQL, ";") + //len1 := len(sqlSlice) + //for i, TextSQL1 := range sqlSlice { + // //batch.Queue(TextSQL1) + // if i == len1-1 { + // tx = db.Raw(TextSQL1) + // } else { + // tx = db.Exec(TextSQL1) + // //rows.Close() + // } + // err = tx.Error + // if err != nil { + // log.Panic("DB.Raw() error:", err) + // } + //} //tx := db.Raw(TextSQL) //err = tx.Error @@ -249,6 +289,7 @@ order by Column1.OrderNumber = OrderNumberColumn Column1.TableKey = v.ColumnTableKey Column1.ColumnKey = v.ColumnColumnKey + Column1.IsPrimaryKey = v.IsPrimaryKey MapColumns[v.ColumnName] = &Column1 //Table1.Columns = append(Table1.Columns, Column1) @@ -286,14 +327,22 @@ func FillIDMinimum(MapTable map[string]*types.Table) { db := postgres_gorm.GetConnection() ctxMain := contextmain.GetContext() + Schema := strings.Trim(postgres_gorm.Settings.DB_SCHEMA, " ") + for TableName, Table1 := range MapTable { //текст запроса - NameID, TypeGo := FindNameTypeID(Table1) + NameID, TypeGo := FindNameType_from_PrimaryKey(Table1) if NameID == "" { continue } - DefaultValueSQL := create_files.FindTextDefaultValueSQL(TypeGo) - TextSQL := "SELECT Min(" + NameID + ") as id_minimum FROM \"" + postgres_gorm.Settings.DB_SCHEMA + "\".\"" + TableName + "\" WHERE " + NameID + " <> " + DefaultValueSQL + TextSQL := "" + Is_UUID_Type := create_files.Is_UUID_Type(TypeGo) + if Is_UUID_Type == false { + DefaultValueSQL := create_files.FindTextDefaultValueSQL(TypeGo) + TextSQL = `SELECT Min("` + NameID + `") as id_minimum FROM "` + Schema + `"."` + TableName + `" WHERE " + NameID + " <> ` + DefaultValueSQL + } else { + TextSQL = `SELECT "` + NameID + `" as id_minimum FROM "` + Schema + `"."` + TableName + `" WHERE " + NameID + " is not null LIMIT 1` + } ctx, ctxCancelFunc := context.WithTimeout(ctxMain, time.Second*60) defer ctxCancelFunc() db.WithContext(ctx) @@ -331,6 +380,8 @@ func FillRowsCount(MapTable map[string]*types.Table) { db := postgres_gorm.GetConnection() ctxMain := contextmain.GetContext() + Schema := strings.Trim(postgres_gorm.Settings.DB_SCHEMA, " ") + for TableName, Table1 := range MapTable { //текст запроса //только Postgres SQL @@ -340,7 +391,7 @@ SELECT FROM pg_class WHERE - oid = 'public."` + TableName + `"'::regclass + oid = '` + Schema + `."` + TableName + `"'::regclass ` ctx, ctxCancelFunc := context.WithTimeout(ctxMain, time.Second*60) defer ctxCancelFunc() @@ -366,12 +417,13 @@ WHERE } -func FindNameTypeID(Table1 *types.Table) (string, string) { +// FindNameType_from_PrimaryKey - возвращает наименование и тип БД для колонки PrimaryKey (ID) +func FindNameType_from_PrimaryKey(Table1 *types.Table) (string, string) { Otvet := "" Type := "" for ColumnName, Column1 := range Table1.MapColumns { - if Column1.IsIdentity == true { + if Column1.IsPrimaryKey == true { return ColumnName, Column1.TypeGo } } diff --git a/internal/types/types.go b/internal/types/types.go index e177fdd..bfee16d 100644 --- a/internal/types/types.go +++ b/internal/types/types.go @@ -1,16 +1,17 @@ package types type Column struct { - Name string `json:"name" gorm:"column:name;default:''"` - Type string `json:"type_name" gorm:"column:type_name;default:''"` - IsIdentity bool `json:"is_identity" gorm:"column:is_identity;default:false"` - IsNullable bool `json:"is_nullable" gorm:"column:is_nullable;default:''"` - Description string `json:"description" gorm:"column:description;default:''"` - OrderNumber int - TableKey string `json:"table_key" gorm:"column:table_key;default:''"` - ColumnKey string `json:"column_key" gorm:"column:column_key;default:''"` - NameGo string `gorm:-` - TypeGo string `gorm:-` + Name string `json:"name" gorm:"column:name;default:''"` + Type string `json:"type_name" gorm:"column:type_name;default:''"` + IsIdentity bool `json:"is_identity" gorm:"column:is_identity;default:false"` + IsNullable bool `json:"is_nullable" gorm:"column:is_nullable;default:''"` + Description string `json:"description" gorm:"column:description;default:''"` + OrderNumber int + TableKey string `json:"table_key" gorm:"column:table_key;default:''"` + ColumnKey string `json:"column_key" gorm:"column:column_key;default:''"` + NameGo string `gorm:-` + TypeGo string `gorm:-` + IsPrimaryKey bool `json:"is_primary_key" gorm:"column:is_primary_key;default:false"` } type Table struct { diff --git a/vendor/github.com/ManyakRus/starter/LICENSE b/vendor/github.com/ManyakRus/starter/LICENSE new file mode 100644 index 0000000..a86578c --- /dev/null +++ b/vendor/github.com/ManyakRus/starter/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2024 Aleksandr Nikitin + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/vendor/github.com/ManyakRus/starter/config_main/config_main.go b/vendor/github.com/ManyakRus/starter/config_main/config_main.go index 3ba7b19..840459d 100644 --- a/vendor/github.com/ManyakRus/starter/config_main/config_main.go +++ b/vendor/github.com/ManyakRus/starter/config_main/config_main.go @@ -7,6 +7,7 @@ import ( "github.com/ManyakRus/starter/micro" "github.com/joho/godotenv" "os" + "path/filepath" "strings" //log "github.com/sirupsen/logrus" //log "github.com/sirupsen/logrus" @@ -57,7 +58,13 @@ func LoadSettingsTxt() { dir := micro.ProgramDir() filename := dir + "settings.txt" - LoadEnv_from_file(filename) + FilenameShort := micro.LastWord(filename) + err := LoadEnv_from_file_err(filename) + if err != nil { + log.Debug("Can not parse ", FilenameShort, " file: ", filename, " warning: "+err.Error()) + } else { + log.Info("load ", FilenameShort, " from file: ", filename) + } } // LoadSettingsTxt_err - загружает из файла settings.txt переменные в переменные окружения, возвращает ошибку @@ -74,13 +81,13 @@ func LoadSettingsTxt_err() error { // LoadEnv_from_file загружает из файла переменные в переменные окружения func LoadEnv_from_file(filename string) { - FilenameShort := micro.LastWord(filename) + FilenameShort := filepath.Base(filename) err := LoadEnv_from_file_err(filename) if err != nil { - log.Debug("Can not parse "+FilenameShort+" file: ", filename, " warning: "+err.Error()) + log.Debug("Can not parse ", FilenameShort, " file: ", filename, " warning: "+err.Error()) } else { - log.Info("load "+FilenameShort+" from file: ", filename) + log.Info("load ", FilenameShort, " from file: ", filename) } } @@ -95,12 +102,20 @@ func LoadEnv_from_file_err(filename string) error { // LoadENV_or_SettingsTXT - загружает из файла .env или settings.txt переменные в переменные окружения func LoadENV_or_SettingsTXT() { + //var errTXT error + + //загрузим файл .env errENV := LoadEnv_err() - var err2 error - if errENV != nil { - err2 = LoadSettingsTxt_err() - } - if err2 != nil { - log.Panic("LoadENV_or_SettingsTXT() error: ", err2) + if errENV == nil { + return } + + //загрузим settings.txt если нет файла .env + LoadSettingsTxt() + //errTXT = LoadSettingsTxt_err() + //if errTXT != nil { + // log.Panic("LoadENV_or_SettingsTXT() error: ", errTXT) + //} else { + // log.Info("LoadENV_or_SettingsTXT() ok") + //} } diff --git a/vendor/github.com/ManyakRus/starter/micro/microfunctions.go b/vendor/github.com/ManyakRus/starter/micro/microfunctions.go index 1ea90a2..78216aa 100644 --- a/vendor/github.com/ManyakRus/starter/micro/microfunctions.go +++ b/vendor/github.com/ManyakRus/starter/micro/microfunctions.go @@ -808,3 +808,24 @@ func FindLastPos(s, TextFind string) int { Otvet := strings.LastIndex(s, TextFind) return Otvet } + +// StringFloat64_Dimension2 - возвращает строку с 2 знака после запятой +func StringFloat64_Dimension2(f float64) string { + Otvet := fmt.Sprintf("%.2f", f) + + return Otvet +} + +// StringFloat32_Dimension2 - возвращает строку с 2 знака после запятой +func StringFloat32_Dimension2(f float32) string { + Otvet := fmt.Sprintf("%.2f", f) + + return Otvet +} + +// ShowTimePassed - показывает время прошедшее с момента старта +// запускать: +// defer micro.ShowTimePassed(time.Now()) +func ShowTimePassed(StartAt time.Time) { + fmt.Print("Time passed: ", time.Since(StartAt)) +} diff --git a/vendor/github.com/ManyakRus/starter/postgres_gorm/postgres_gorm.go b/vendor/github.com/ManyakRus/starter/postgres_gorm/postgres_gorm.go index eabe448..a862276 100644 --- a/vendor/github.com/ManyakRus/starter/postgres_gorm/postgres_gorm.go +++ b/vendor/github.com/ManyakRus/starter/postgres_gorm/postgres_gorm.go @@ -440,6 +440,11 @@ func RawMultipleSQL(db *gorm.DB, TextSQL string) *gorm.DB { return tx } + //запустим транзакцию + //tx = tx.Begin() + //defer tx.Commit() + + // TextSQL1 := "" TextSQL2 := TextSQL diff --git a/vendor/github.com/jackc/pgx/v5/CHANGELOG.md b/vendor/github.com/jackc/pgx/v5/CHANGELOG.md index 78de6db..5f780fd 100644 --- a/vendor/github.com/jackc/pgx/v5/CHANGELOG.md +++ b/vendor/github.com/jackc/pgx/v5/CHANGELOG.md @@ -1,3 +1,10 @@ +# 5.5.5 (March 9, 2024) + +Use spaces instead of parentheses for SQL sanitization. + +This still solves the problem of negative numbers creating a line comment, but this avoids breaking edge cases such as +`set foo to $1` where the substitution is taking place in a location where an arbitrary expression is not allowed. + # 5.5.4 (March 4, 2024) Fix CVE-2024-27304 diff --git a/vendor/github.com/jackc/pgx/v5/internal/sanitize/sanitize.go b/vendor/github.com/jackc/pgx/v5/internal/sanitize/sanitize.go index 08d24fe..df58c44 100644 --- a/vendor/github.com/jackc/pgx/v5/internal/sanitize/sanitize.go +++ b/vendor/github.com/jackc/pgx/v5/internal/sanitize/sanitize.go @@ -66,7 +66,7 @@ func (q *Query) Sanitize(args ...any) (string, error) { // Prevent SQL injection via Line Comment Creation // https://github.com/jackc/pgx/security/advisories/GHSA-m7wr-2xf7-cm9p - str = "(" + str + ")" + str = " " + str + " " default: return "", fmt.Errorf("invalid Part type: %T", part) } diff --git a/vendor/gorm.io/driver/postgres/migrator.go b/vendor/gorm.io/driver/postgres/migrator.go index 6c58a5f..6174e1c 100644 --- a/vendor/gorm.io/driver/postgres/migrator.go +++ b/vendor/gorm.io/driver/postgres/migrator.go @@ -48,14 +48,26 @@ var typeAliasMap = map[string][]string{ "numeric": {"decimal"}, "timestamptz": {"timestamp with time zone"}, "timestamp with time zone": {"timestamptz"}, + "bool": {"boolean"}, + "boolean": {"bool"}, } type Migrator struct { migrator.Migrator } +// select querys ignore dryrun +func (m Migrator) queryRaw(sql string, values ...interface{}) (tx *gorm.DB) { + queryTx := m.DB + if m.DB.DryRun { + queryTx = m.DB.Session(&gorm.Session{}) + queryTx.DryRun = false + } + return queryTx.Raw(sql, values...) +} + func (m Migrator) CurrentDatabase() (name string) { - m.DB.Raw("SELECT CURRENT_DATABASE()").Scan(&name) + m.queryRaw("SELECT CURRENT_DATABASE()").Scan(&name) return } @@ -87,7 +99,7 @@ func (m Migrator) HasIndex(value interface{}, name string) bool { } } currentSchema, curTable := m.CurrentSchema(stmt, stmt.Table) - return m.DB.Raw( + return m.queryRaw( "SELECT count(*) FROM pg_indexes WHERE tablename = ? AND indexname = ? AND schemaname = ?", curTable, name, currentSchema, ).Scan(&count).Error }) @@ -155,7 +167,7 @@ func (m Migrator) DropIndex(value interface{}, name string) error { func (m Migrator) GetTables() (tableList []string, err error) { currentSchema, _ := m.CurrentSchema(m.DB.Statement, "") - return tableList, m.DB.Raw("SELECT table_name FROM information_schema.tables WHERE table_schema = ? AND table_type = ?", currentSchema, "BASE TABLE").Scan(&tableList).Error + return tableList, m.queryRaw("SELECT table_name FROM information_schema.tables WHERE table_schema = ? AND table_type = ?", currentSchema, "BASE TABLE").Scan(&tableList).Error } func (m Migrator) CreateTable(values ...interface{}) (err error) { @@ -189,7 +201,7 @@ func (m Migrator) HasTable(value interface{}) bool { var count int64 m.RunWithValue(value, func(stmt *gorm.Statement) error { currentSchema, curTable := m.CurrentSchema(stmt, stmt.Table) - return m.DB.Raw("SELECT count(*) FROM information_schema.tables WHERE table_schema = ? AND table_name = ? AND table_type = ?", currentSchema, curTable, "BASE TABLE").Scan(&count).Error + return m.queryRaw("SELECT count(*) FROM information_schema.tables WHERE table_schema = ? AND table_name = ? AND table_type = ?", currentSchema, curTable, "BASE TABLE").Scan(&count).Error }) return count > 0 } @@ -241,7 +253,7 @@ func (m Migrator) HasColumn(value interface{}, field string) bool { } currentSchema, curTable := m.CurrentSchema(stmt, stmt.Table) - return m.DB.Raw( + return m.queryRaw( "SELECT count(*) FROM INFORMATION_SCHEMA.columns WHERE table_schema = ? AND table_name = ? AND column_name = ?", currentSchema, curTable, name, ).Scan(&count).Error @@ -266,7 +278,7 @@ func (m Migrator) MigrateColumn(value interface{}, field *schema.Field, columnTy checkSQL += "WHERE objsubid = (SELECT ordinal_position FROM information_schema.columns WHERE table_schema = ? AND table_name = ? AND column_name = ?) " checkSQL += "AND objoid = (SELECT oid FROM pg_catalog.pg_class WHERE relname = ? AND relnamespace = " checkSQL += "(SELECT oid FROM pg_catalog.pg_namespace WHERE nspname = ?))" - m.DB.Raw(checkSQL, values...).Scan(&description) + m.queryRaw(checkSQL, values...).Scan(&description) comment := strings.Trim(field.Comment, "'") comment = strings.Trim(comment, `"`) @@ -414,7 +426,7 @@ func (m Migrator) HasConstraint(value interface{}, name string) bool { } currentSchema, curTable := m.CurrentSchema(stmt, table) - return m.DB.Raw( + return m.queryRaw( "SELECT count(*) FROM INFORMATION_SCHEMA.table_constraints WHERE table_schema = ? AND table_name = ? AND constraint_name = ?", currentSchema, curTable, name, ).Scan(&count).Error @@ -429,7 +441,7 @@ func (m Migrator) ColumnTypes(value interface{}) (columnTypes []gorm.ColumnType, var ( currentDatabase = m.DB.Migrator().CurrentDatabase() currentSchema, table = m.CurrentSchema(stmt, stmt.Table) - columns, err = m.DB.Raw( + columns, err = m.queryRaw( "SELECT c.column_name, c.is_nullable = 'YES', c.udt_name, c.character_maximum_length, c.numeric_precision, c.numeric_precision_radix, c.numeric_scale, c.datetime_precision, 8 * typlen, c.column_default, pd.description, c.identity_increment FROM information_schema.columns AS c JOIN pg_type AS pgt ON c.udt_name = pgt.typname LEFT JOIN pg_catalog.pg_description as pd ON pd.objsubid = c.ordinal_position AND pd.objoid = (SELECT oid FROM pg_catalog.pg_class WHERE relname = c.table_name AND relnamespace = (SELECT oid FROM pg_catalog.pg_namespace WHERE nspname = c.table_schema)) where table_catalog = ? AND table_schema = ? AND table_name = ?", currentDatabase, currentSchema, table).Rows() ) @@ -503,7 +515,7 @@ func (m Migrator) ColumnTypes(value interface{}) (columnTypes []gorm.ColumnType, // check primary, unique field { - columnTypeRows, err := m.DB.Raw("SELECT constraint_name FROM information_schema.table_constraints tc JOIN information_schema.constraint_column_usage AS ccu USING (constraint_schema, constraint_catalog, table_name, constraint_name) JOIN information_schema.columns AS c ON c.table_schema = tc.constraint_schema AND tc.table_name = c.table_name AND ccu.column_name = c.column_name WHERE constraint_type IN ('PRIMARY KEY', 'UNIQUE') AND c.table_catalog = ? AND c.table_schema = ? AND c.table_name = ? AND constraint_type = ?", currentDatabase, currentSchema, table, "UNIQUE").Rows() + columnTypeRows, err := m.queryRaw("SELECT constraint_name FROM information_schema.table_constraints tc JOIN information_schema.constraint_column_usage AS ccu USING (constraint_schema, constraint_catalog, table_name, constraint_name) JOIN information_schema.columns AS c ON c.table_schema = tc.constraint_schema AND tc.table_name = c.table_name AND ccu.column_name = c.column_name WHERE constraint_type IN ('PRIMARY KEY', 'UNIQUE') AND c.table_catalog = ? AND c.table_schema = ? AND c.table_name = ? AND constraint_type = ?", currentDatabase, currentSchema, table, "UNIQUE").Rows() if err != nil { return err } @@ -515,7 +527,7 @@ func (m Migrator) ColumnTypes(value interface{}) (columnTypes []gorm.ColumnType, } columnTypeRows.Close() - columnTypeRows, err = m.DB.Raw("SELECT c.column_name, constraint_name, constraint_type FROM information_schema.table_constraints tc JOIN information_schema.constraint_column_usage AS ccu USING (constraint_schema, constraint_catalog, table_name, constraint_name) JOIN information_schema.columns AS c ON c.table_schema = tc.constraint_schema AND tc.table_name = c.table_name AND ccu.column_name = c.column_name WHERE constraint_type IN ('PRIMARY KEY', 'UNIQUE') AND c.table_catalog = ? AND c.table_schema = ? AND c.table_name = ?", currentDatabase, currentSchema, table).Rows() + columnTypeRows, err = m.queryRaw("SELECT c.column_name, constraint_name, constraint_type FROM information_schema.table_constraints tc JOIN information_schema.constraint_column_usage AS ccu USING (constraint_schema, constraint_catalog, table_name, constraint_name) JOIN information_schema.columns AS c ON c.table_schema = tc.constraint_schema AND tc.table_name = c.table_name AND ccu.column_name = c.column_name WHERE constraint_type IN ('PRIMARY KEY', 'UNIQUE') AND c.table_catalog = ? AND c.table_schema = ? AND c.table_name = ?", currentDatabase, currentSchema, table).Rows() if err != nil { return err } @@ -542,7 +554,7 @@ func (m Migrator) ColumnTypes(value interface{}) (columnTypes []gorm.ColumnType, // check column type { - dataTypeRows, err := m.DB.Raw(`SELECT a.attname as column_name, format_type(a.atttypid, a.atttypmod) AS data_type + dataTypeRows, err := m.queryRaw(`SELECT a.attname as column_name, format_type(a.atttypid, a.atttypmod) AS data_type FROM pg_attribute a JOIN pg_class b ON a.attrelid = b.oid AND relnamespace = (SELECT oid FROM pg_catalog.pg_namespace WHERE nspname = ?) WHERE a.attnum > 0 -- hide internal columns AND NOT a.attisdropped -- hide deleted columns @@ -700,7 +712,7 @@ func (m Migrator) GetIndexes(value interface{}) ([]gorm.Index, error) { err := m.RunWithValue(value, func(stmt *gorm.Statement) error { result := make([]*Index, 0) - scanErr := m.DB.Raw(indexSql, stmt.Table).Scan(&result).Error + scanErr := m.queryRaw(indexSql, stmt.Table).Scan(&result).Error if scanErr != nil { return scanErr } diff --git a/vendor/gorm.io/driver/postgres/postgres.go b/vendor/gorm.io/driver/postgres/postgres.go index 50bb307..e865b0f 100644 --- a/vendor/gorm.io/driver/postgres/postgres.go +++ b/vendor/gorm.io/driver/postgres/postgres.go @@ -48,19 +48,25 @@ func (dialector Dialector) Name() string { } func (dialector Dialector) Apply(config *gorm.Config) error { - var namingStartegy *schema.NamingStrategy + if config.NamingStrategy == nil { + config.NamingStrategy = schema.NamingStrategy{ + IdentifierMaxLength: defaultIdentifierLength, + } + return nil + } + switch v := config.NamingStrategy.(type) { case *schema.NamingStrategy: - namingStartegy = v + if v.IdentifierMaxLength <= 0 { + v.IdentifierMaxLength = defaultIdentifierLength + } case schema.NamingStrategy: - namingStartegy = &v - case nil: - namingStartegy = &schema.NamingStrategy{} + if v.IdentifierMaxLength <= 0 { + v.IdentifierMaxLength = defaultIdentifierLength + config.NamingStrategy = v + } } - if namingStartegy.IdentifierMaxLength <= 0 { - namingStartegy.IdentifierMaxLength = defaultIdentifierLength - } - config.NamingStrategy = namingStartegy + return nil } diff --git a/vendor/gorm.io/gorm/callbacks.go b/vendor/gorm.io/gorm/callbacks.go index 195d172..50b5b0e 100644 --- a/vendor/gorm.io/gorm/callbacks.go +++ b/vendor/gorm.io/gorm/callbacks.go @@ -187,10 +187,18 @@ func (p *processor) Replace(name string, fn func(*DB)) error { func (p *processor) compile() (err error) { var callbacks []*callback + removedMap := map[string]bool{} for _, callback := range p.callbacks { if callback.match == nil || callback.match(p.db) { callbacks = append(callbacks, callback) } + if callback.remove { + removedMap[callback.name] = true + } + } + + if len(removedMap) > 0 { + callbacks = removeCallbacks(callbacks, removedMap) } p.callbacks = callbacks @@ -339,3 +347,14 @@ func sortCallbacks(cs []*callback) (fns []func(*DB), err error) { return } + +func removeCallbacks(cs []*callback, nameMap map[string]bool) []*callback { + callbacks := make([]*callback, 0, len(cs)) + for _, callback := range cs { + if nameMap[callback.name] { + continue + } + callbacks = append(callbacks, callback) + } + return callbacks +} diff --git a/vendor/gorm.io/gorm/callbacks/create.go b/vendor/gorm.io/gorm/callbacks/create.go index b1488b0..afea2cc 100644 --- a/vendor/gorm.io/gorm/callbacks/create.go +++ b/vendor/gorm.io/gorm/callbacks/create.go @@ -111,6 +111,17 @@ func Create(config *Config) func(db *gorm.DB) { pkField *schema.Field pkFieldName = "@id" ) + + insertID, err := result.LastInsertId() + insertOk := err == nil && insertID > 0 + + if !insertOk { + if !supportReturning { + db.AddError(err) + } + return + } + if db.Statement.Schema != nil { if db.Statement.Schema.PrioritizedPrimaryField == nil || !db.Statement.Schema.PrioritizedPrimaryField.HasDefaultValue { return @@ -119,13 +130,6 @@ func Create(config *Config) func(db *gorm.DB) { pkFieldName = db.Statement.Schema.PrioritizedPrimaryField.DBName } - insertID, err := result.LastInsertId() - insertOk := err == nil && insertID > 0 - if !insertOk { - db.AddError(err) - return - } - // append @id column with value for auto-increment primary key // the @id value is correct, when: 1. without setting auto-increment primary key, 2. database AutoIncrementIncrement = 1 switch values := db.Statement.Dest.(type) { @@ -142,6 +146,11 @@ func Create(config *Config) func(db *gorm.DB) { } } } + + if config.LastInsertIDReversed { + insertID -= int64(len(mapValues)-1) * schema.DefaultAutoIncrementIncrement + } + for _, mapValue := range mapValues { if mapValue != nil { mapValue[pkFieldName] = insertID @@ -293,13 +302,15 @@ func ConvertToCreateValues(stmt *gorm.Statement) (values clause.Values) { } } - for field, vs := range defaultValueFieldsHavingValue { - values.Columns = append(values.Columns, clause.Column{Name: field.DBName}) - for idx := range values.Values { - if vs[idx] == nil { - values.Values[idx] = append(values.Values[idx], stmt.Dialector.DefaultValueOf(field)) - } else { - values.Values[idx] = append(values.Values[idx], vs[idx]) + for _, field := range stmt.Schema.FieldsWithDefaultDBValue { + if vs, ok := defaultValueFieldsHavingValue[field]; ok { + values.Columns = append(values.Columns, clause.Column{Name: field.DBName}) + for idx := range values.Values { + if vs[idx] == nil { + values.Values[idx] = append(values.Values[idx], stmt.Dialector.DefaultValueOf(field)) + } else { + values.Values[idx] = append(values.Values[idx], vs[idx]) + } } } } @@ -351,7 +362,7 @@ func ConvertToCreateValues(stmt *gorm.Statement) (values clause.Values) { case schema.UnixNanosecond: assignment.Value = curTime.UnixNano() case schema.UnixMillisecond: - assignment.Value = curTime.UnixNano() / 1e6 + assignment.Value = curTime.UnixMilli() case schema.UnixSecond: assignment.Value = curTime.Unix() } diff --git a/vendor/gorm.io/gorm/callbacks/preload.go b/vendor/gorm.io/gorm/callbacks/preload.go index 25ecfe7..cf7a0d2 100644 --- a/vendor/gorm.io/gorm/callbacks/preload.go +++ b/vendor/gorm.io/gorm/callbacks/preload.go @@ -121,10 +121,23 @@ func preloadEntryPoint(db *gorm.DB, joins []string, relationships *schema.Relati } } else if rel := relationships.Relations[name]; rel != nil { if joined, nestedJoins := isJoined(name); joined { - reflectValue := rel.Field.ReflectValueOf(db.Statement.Context, db.Statement.ReflectValue) - tx := preloadDB(db, reflectValue, reflectValue.Interface()) - if err := preloadEntryPoint(tx, nestedJoins, &tx.Statement.Schema.Relationships, preloadMap[name], associationsConds); err != nil { - return err + switch rv := db.Statement.ReflectValue; rv.Kind() { + case reflect.Slice, reflect.Array: + for i := 0; i < rv.Len(); i++ { + reflectValue := rel.Field.ReflectValueOf(db.Statement.Context, rv.Index(i)) + tx := preloadDB(db, reflectValue, reflectValue.Interface()) + if err := preloadEntryPoint(tx, nestedJoins, &tx.Statement.Schema.Relationships, preloadMap[name], associationsConds); err != nil { + return err + } + } + case reflect.Struct: + reflectValue := rel.Field.ReflectValueOf(db.Statement.Context, rv) + tx := preloadDB(db, reflectValue, reflectValue.Interface()) + if err := preloadEntryPoint(tx, nestedJoins, &tx.Statement.Schema.Relationships, preloadMap[name], associationsConds); err != nil { + return err + } + default: + return gorm.ErrInvalidData } } else { tx := db.Table("").Session(&gorm.Session{Context: db.Statement.Context, SkipHooks: db.Statement.SkipHooks}) diff --git a/vendor/gorm.io/gorm/callbacks/update.go b/vendor/gorm.io/gorm/callbacks/update.go index ff075dc..7cde7f6 100644 --- a/vendor/gorm.io/gorm/callbacks/update.go +++ b/vendor/gorm.io/gorm/callbacks/update.go @@ -234,7 +234,7 @@ func ConvertToAssignments(stmt *gorm.Statement) (set clause.Set) { if field.AutoUpdateTime == schema.UnixNanosecond { set = append(set, clause.Assignment{Column: clause.Column{Name: field.DBName}, Value: now.UnixNano()}) } else if field.AutoUpdateTime == schema.UnixMillisecond { - set = append(set, clause.Assignment{Column: clause.Column{Name: field.DBName}, Value: now.UnixNano() / 1e6}) + set = append(set, clause.Assignment{Column: clause.Column{Name: field.DBName}, Value: now.UnixMilli()}) } else if field.AutoUpdateTime == schema.UnixSecond { set = append(set, clause.Assignment{Column: clause.Column{Name: field.DBName}, Value: now.Unix()}) } else { @@ -268,7 +268,7 @@ func ConvertToAssignments(stmt *gorm.Statement) (set clause.Set) { if field.AutoUpdateTime == schema.UnixNanosecond { value = stmt.DB.NowFunc().UnixNano() } else if field.AutoUpdateTime == schema.UnixMillisecond { - value = stmt.DB.NowFunc().UnixNano() / 1e6 + value = stmt.DB.NowFunc().UnixMilli() } else if field.AutoUpdateTime == schema.UnixSecond { value = stmt.DB.NowFunc().Unix() } else { diff --git a/vendor/gorm.io/gorm/clause/where.go b/vendor/gorm.io/gorm/clause/where.go index 46d0b31..9ac7857 100644 --- a/vendor/gorm.io/gorm/clause/where.go +++ b/vendor/gorm.io/gorm/clause/where.go @@ -21,11 +21,11 @@ func (where Where) Name() string { // Build build where clause func (where Where) Build(builder Builder) { - if len(where.Exprs) == 1 { - if andCondition, ok := where.Exprs[0].(AndConditions); ok { - where.Exprs = andCondition.Exprs - } - } + if len(where.Exprs) == 1 { + if andCondition, ok := where.Exprs[0].(AndConditions); ok { + where.Exprs = andCondition.Exprs + } + } // Switch position if the first query expression is a single Or condition for idx, expr := range where.Exprs { @@ -166,19 +166,58 @@ type NotConditions struct { } func (not NotConditions) Build(builder Builder) { - if len(not.Exprs) > 1 { - builder.WriteByte('(') + anyNegationBuilder := false + for _, c := range not.Exprs { + if _, ok := c.(NegationExpressionBuilder); ok { + anyNegationBuilder = true + break + } } - for idx, c := range not.Exprs { - if idx > 0 { - builder.WriteString(AndWithSpace) + if anyNegationBuilder { + if len(not.Exprs) > 1 { + builder.WriteByte('(') } - if negationBuilder, ok := c.(NegationExpressionBuilder); ok { - negationBuilder.NegationBuild(builder) - } else { - builder.WriteString("NOT ") + for idx, c := range not.Exprs { + if idx > 0 { + builder.WriteString(AndWithSpace) + } + + if negationBuilder, ok := c.(NegationExpressionBuilder); ok { + negationBuilder.NegationBuild(builder) + } else { + builder.WriteString("NOT ") + e, wrapInParentheses := c.(Expr) + if wrapInParentheses { + sql := strings.ToUpper(e.SQL) + if wrapInParentheses = strings.Contains(sql, AndWithSpace) || strings.Contains(sql, OrWithSpace); wrapInParentheses { + builder.WriteByte('(') + } + } + + c.Build(builder) + + if wrapInParentheses { + builder.WriteByte(')') + } + } + } + + if len(not.Exprs) > 1 { + builder.WriteByte(')') + } + } else { + builder.WriteString("NOT ") + if len(not.Exprs) > 1 { + builder.WriteByte('(') + } + + for idx, c := range not.Exprs { + if idx > 0 { + builder.WriteString(AndWithSpace) + } + e, wrapInParentheses := c.(Expr) if wrapInParentheses { sql := strings.ToUpper(e.SQL) @@ -193,9 +232,9 @@ func (not NotConditions) Build(builder Builder) { builder.WriteByte(')') } } - } - if len(not.Exprs) > 1 { - builder.WriteByte(')') + if len(not.Exprs) > 1 { + builder.WriteByte(')') + } } } diff --git a/vendor/gorm.io/gorm/logger/sql.go b/vendor/gorm.io/gorm/logger/sql.go index 8ce8d8b..ad47879 100644 --- a/vendor/gorm.io/gorm/logger/sql.go +++ b/vendor/gorm.io/gorm/logger/sql.go @@ -34,6 +34,19 @@ var convertibleTypes = []reflect.Type{reflect.TypeOf(time.Time{}), reflect.TypeO // RegEx matches only numeric values var numericPlaceholderRe = regexp.MustCompile(`\$\d+\$`) +func isNumeric(k reflect.Kind) bool { + switch k { + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + return true + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64: + return true + case reflect.Float32, reflect.Float64: + return true + default: + return false + } +} + // ExplainSQL generate SQL string with given parameters, the generated SQL is expected to be used in logger, execute it might introduce a SQL injection vulnerability func ExplainSQL(sql string, numericPlaceholder *regexp.Regexp, escaper string, avars ...interface{}) string { var ( @@ -110,6 +123,12 @@ func ExplainSQL(sql string, numericPlaceholder *regexp.Regexp, escaper string, a convertParams(v, idx) } else if rv.Kind() == reflect.Ptr && !rv.IsZero() { convertParams(reflect.Indirect(rv).Interface(), idx) + } else if isNumeric(rv.Kind()) { + if rv.CanInt() || rv.CanUint() { + vars[idx] = fmt.Sprintf("%d", rv.Interface()) + } else { + vars[idx] = fmt.Sprintf("%.6f", rv.Interface()) + } } else { for _, t := range convertibleTypes { if rv.Type().ConvertibleTo(t) { diff --git a/vendor/gorm.io/gorm/migrator/migrator.go b/vendor/gorm.io/gorm/migrator/migrator.go index ae82f76..acce5df 100644 --- a/vendor/gorm.io/gorm/migrator/migrator.go +++ b/vendor/gorm.io/gorm/migrator/migrator.go @@ -7,6 +7,7 @@ import ( "fmt" "reflect" "regexp" + "strconv" "strings" "time" @@ -518,12 +519,18 @@ func (m Migrator) MigrateColumn(value interface{}, field *schema.Field, columnTy } else if !dvNotNull && currentDefaultNotNull { // null -> default value alterColumn = true - } else if (field.GORMDataType != schema.Time && dv != field.DefaultValue) || - (field.GORMDataType == schema.Time && !strings.EqualFold(strings.TrimSuffix(dv, "()"), strings.TrimSuffix(field.DefaultValue, "()"))) { - // default value not equal - // not both null - if currentDefaultNotNull || dvNotNull { - alterColumn = true + } else if currentDefaultNotNull || dvNotNull { + switch field.GORMDataType { + case schema.Time: + if !strings.EqualFold(strings.TrimSuffix(dv, "()"), strings.TrimSuffix(field.DefaultValue, "()")) { + alterColumn = true + } + case schema.Bool: + v1, _ := strconv.ParseBool(dv) + v2, _ := strconv.ParseBool(field.DefaultValue) + alterColumn = v1 != v2 + default: + alterColumn = dv != field.DefaultValue } } } diff --git a/vendor/gorm.io/gorm/prepare_stmt.go b/vendor/gorm.io/gorm/prepare_stmt.go index aa94462..c60b5db 100644 --- a/vendor/gorm.io/gorm/prepare_stmt.go +++ b/vendor/gorm.io/gorm/prepare_stmt.go @@ -3,6 +3,8 @@ package gorm import ( "context" "database/sql" + "database/sql/driver" + "errors" "reflect" "sync" ) @@ -147,7 +149,7 @@ func (db *PreparedStmtDB) ExecContext(ctx context.Context, query string, args .. stmt, err := db.prepare(ctx, db.ConnPool, false, query) if err == nil { result, err = stmt.ExecContext(ctx, args...) - if err != nil { + if errors.Is(err, driver.ErrBadConn) { db.Mux.Lock() defer db.Mux.Unlock() go stmt.Close() @@ -161,7 +163,7 @@ func (db *PreparedStmtDB) QueryContext(ctx context.Context, query string, args . stmt, err := db.prepare(ctx, db.ConnPool, false, query) if err == nil { rows, err = stmt.QueryContext(ctx, args...) - if err != nil { + if errors.Is(err, driver.ErrBadConn) { db.Mux.Lock() defer db.Mux.Unlock() @@ -207,7 +209,7 @@ func (tx *PreparedStmtTX) ExecContext(ctx context.Context, query string, args .. stmt, err := tx.PreparedStmtDB.prepare(ctx, tx.Tx, true, query) if err == nil { result, err = tx.Tx.StmtContext(ctx, stmt.Stmt).ExecContext(ctx, args...) - if err != nil { + if errors.Is(err, driver.ErrBadConn) { tx.PreparedStmtDB.Mux.Lock() defer tx.PreparedStmtDB.Mux.Unlock() @@ -222,7 +224,7 @@ func (tx *PreparedStmtTX) QueryContext(ctx context.Context, query string, args . stmt, err := tx.PreparedStmtDB.prepare(ctx, tx.Tx, true, query) if err == nil { rows, err = tx.Tx.StmtContext(ctx, stmt.Stmt).QueryContext(ctx, args...) - if err != nil { + if errors.Is(err, driver.ErrBadConn) { tx.PreparedStmtDB.Mux.Lock() defer tx.PreparedStmtDB.Mux.Unlock() diff --git a/vendor/gorm.io/gorm/scan.go b/vendor/gorm.io/gorm/scan.go index 736db4d..415b9f0 100644 --- a/vendor/gorm.io/gorm/scan.go +++ b/vendor/gorm.io/gorm/scan.go @@ -274,12 +274,16 @@ func Scan(rows Rows, db *DB, mode ScanMode) { if !update || reflectValue.Len() == 0 { update = false - // if the slice cap is externally initialized, the externally initialized slice is directly used here - if reflectValue.Cap() == 0 { - db.Statement.ReflectValue.Set(reflect.MakeSlice(reflectValue.Type(), 0, 20)) - } else if !isArrayKind { - reflectValue.SetLen(0) - db.Statement.ReflectValue.Set(reflectValue) + if isArrayKind { + db.Statement.ReflectValue.Set(reflect.Zero(reflectValue.Type())) + } else { + // if the slice cap is externally initialized, the externally initialized slice is directly used here + if reflectValue.Cap() == 0 { + db.Statement.ReflectValue.Set(reflect.MakeSlice(reflectValue.Type(), 0, 20)) + } else { + reflectValue.SetLen(0) + db.Statement.ReflectValue.Set(reflectValue) + } } } diff --git a/vendor/gorm.io/gorm/schema/constraint.go b/vendor/gorm.io/gorm/schema/constraint.go index 5f6beb8..80a743a 100644 --- a/vendor/gorm.io/gorm/schema/constraint.go +++ b/vendor/gorm.io/gorm/schema/constraint.go @@ -8,7 +8,7 @@ import ( ) // reg match english letters and midline -var regEnLetterAndMidline = regexp.MustCompile("^[A-Za-z-_]+$") +var regEnLetterAndMidline = regexp.MustCompile(`^[\w-]+$`) type CheckConstraint struct { Name string diff --git a/vendor/gorm.io/gorm/schema/field.go b/vendor/gorm.io/gorm/schema/field.go index 91e4c0a..ca2e114 100644 --- a/vendor/gorm.io/gorm/schema/field.go +++ b/vendor/gorm.io/gorm/schema/field.go @@ -664,7 +664,7 @@ func (field *Field) setupValuerAndSetter() { if field.AutoCreateTime == UnixNanosecond || field.AutoUpdateTime == UnixNanosecond { field.ReflectValueOf(ctx, value).SetInt(data.UnixNano()) } else if field.AutoCreateTime == UnixMillisecond || field.AutoUpdateTime == UnixMillisecond { - field.ReflectValueOf(ctx, value).SetInt(data.UnixNano() / 1e6) + field.ReflectValueOf(ctx, value).SetInt(data.UnixMilli()) } else { field.ReflectValueOf(ctx, value).SetInt(data.Unix()) } @@ -673,7 +673,7 @@ func (field *Field) setupValuerAndSetter() { if field.AutoCreateTime == UnixNanosecond || field.AutoUpdateTime == UnixNanosecond { field.ReflectValueOf(ctx, value).SetInt(data.UnixNano()) } else if field.AutoCreateTime == UnixMillisecond || field.AutoUpdateTime == UnixMillisecond { - field.ReflectValueOf(ctx, value).SetInt(data.UnixNano() / 1e6) + field.ReflectValueOf(ctx, value).SetInt(data.UnixMilli()) } else { field.ReflectValueOf(ctx, value).SetInt(data.Unix()) } @@ -738,7 +738,7 @@ func (field *Field) setupValuerAndSetter() { if field.AutoCreateTime == UnixNanosecond || field.AutoUpdateTime == UnixNanosecond { field.ReflectValueOf(ctx, value).SetUint(uint64(data.UnixNano())) } else if field.AutoCreateTime == UnixMillisecond || field.AutoUpdateTime == UnixMillisecond { - field.ReflectValueOf(ctx, value).SetUint(uint64(data.UnixNano() / 1e6)) + field.ReflectValueOf(ctx, value).SetUint(uint64(data.UnixMilli())) } else { field.ReflectValueOf(ctx, value).SetUint(uint64(data.Unix())) } diff --git a/vendor/gorm.io/gorm/schema/serializer.go b/vendor/gorm.io/gorm/schema/serializer.go index 397edff..f500521 100644 --- a/vendor/gorm.io/gorm/schema/serializer.go +++ b/vendor/gorm.io/gorm/schema/serializer.go @@ -126,12 +126,12 @@ func (UnixSecondSerializer) Value(ctx context.Context, field *Field, dst reflect rv := reflect.ValueOf(fieldValue) switch v := fieldValue.(type) { case int64, int, uint, uint64, int32, uint32, int16, uint16: - result = time.Unix(reflect.Indirect(rv).Int(), 0) + result = time.Unix(reflect.Indirect(rv).Int(), 0).UTC() case *int64, *int, *uint, *uint64, *int32, *uint32, *int16, *uint16: if rv.IsZero() { return nil, nil } - result = time.Unix(reflect.Indirect(rv).Int(), 0) + result = time.Unix(reflect.Indirect(rv).Int(), 0).UTC() default: err = fmt.Errorf("invalid field type %#v for UnixSecondSerializer, only int, uint supported", v) } diff --git a/vendor/gorm.io/gorm/utils/utils.go b/vendor/gorm.io/gorm/utils/utils.go index a4d8ac2..347a331 100644 --- a/vendor/gorm.io/gorm/utils/utils.go +++ b/vendor/gorm.io/gorm/utils/utils.go @@ -74,7 +74,11 @@ func ToStringKey(values ...interface{}) string { case uint: results[idx] = strconv.FormatUint(uint64(v), 10) default: - results[idx] = fmt.Sprint(reflect.Indirect(reflect.ValueOf(v)).Interface()) + results[idx] = "nil" + vv := reflect.ValueOf(v) + if vv.IsValid() && !vv.IsZero() { + results[idx] = fmt.Sprint(reflect.Indirect(vv).Interface()) + } } } diff --git a/vendor/modules.txt b/vendor/modules.txt index 022e44d..b128395 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -1,7 +1,7 @@ # github.com/ManyakRus/logrus v0.0.0-20231019115155-9e6fede0d792 ## explicit; go 1.13 github.com/ManyakRus/logrus -# github.com/ManyakRus/starter v1.0.10 +# github.com/ManyakRus/starter v1.0.22 ## explicit; go 1.20 github.com/ManyakRus/starter/config_main github.com/ManyakRus/starter/constants @@ -28,7 +28,7 @@ github.com/jackc/pgpassfile # github.com/jackc/pgservicefile v0.0.0-20231201235250-de7065d80cb9 ## explicit; go 1.14 github.com/jackc/pgservicefile -# github.com/jackc/pgx/v5 v5.5.4 +# github.com/jackc/pgx/v5 v5.5.5 ## explicit; go 1.19 github.com/jackc/pgx/v5 github.com/jackc/pgx/v5/internal/anynil @@ -114,12 +114,10 @@ golang.org/x/tools/internal/event/tag golang.org/x/tools/internal/gocommand golang.org/x/tools/internal/gopathwalk golang.org/x/tools/internal/imports -# google.golang.org/protobuf v1.33.0 -## explicit; go 1.17 -# gorm.io/driver/postgres v1.5.6 +# gorm.io/driver/postgres v1.5.7 ## explicit; go 1.18 gorm.io/driver/postgres -# gorm.io/gorm v1.25.7 +# gorm.io/gorm v1.25.9 ## explicit; go 1.18 gorm.io/gorm gorm.io/gorm/callbacks