zrb 1.0.0b9__tar.gz → 1.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (361) hide show
  1. {zrb-1.0.0b9 → zrb-1.1.0}/PKG-INFO +2 -2
  2. {zrb-1.0.0b9 → zrb-1.1.0}/pyproject.toml +3 -3
  3. zrb-1.1.0/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/.coveragerc +11 -0
  4. zrb-1.1.0/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/.gitignore +8 -0
  5. zrb-1.1.0/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/column/add_column_task.py +137 -0
  6. zrb-1.1.0/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/column/add_column_util.py +301 -0
  7. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/config.py +5 -0
  8. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/add_entity_task.py +131 -2
  9. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/add_entity_util.py +128 -5
  10. zrb-1.1.0/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/app_template/module/gateway/view/content/my-module/my-entity.html +297 -0
  11. zrb-1.1.0/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/app_template/test/my_module/my_entity/test_create_my_entity.py +53 -0
  12. zrb-1.1.0/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/app_template/test/my_module/my_entity/test_delete_my_entity.py +62 -0
  13. zrb-1.1.0/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/app_template/test/my_module/my_entity/test_read_my_entity.py +65 -0
  14. zrb-1.1.0/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/app_template/test/my_module/my_entity/test_update_my_entity.py +61 -0
  15. zrb-1.1.0/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/gateway_subroute.py +142 -0
  16. zrb-1.1.0/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/navigation_config_file.py +8 -0
  17. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/add_module_task.py +8 -0
  18. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/add_module_util.py +42 -3
  19. zrb-1.1.0/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/gateway/subroute/my_module.py +14 -0
  20. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/module_task_definition.py +10 -6
  21. zrb-1.1.0/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/navigation_config_file.py +6 -0
  22. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/task.py +56 -12
  23. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/task_util.py +10 -4
  24. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/base_service.py +136 -52
  25. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/util/parser.py +3 -3
  26. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/util/view.py +1 -1
  27. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/config.py +19 -8
  28. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/migration/versions/3093c7336477_add_auth_tables.py +46 -43
  29. zrb-1.1.0/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/migration/versions/8ed025bcc845_create_permissions.py +69 -0
  30. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/repository/user_db_repository.py +5 -2
  31. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/user_service.py +16 -21
  32. zrb-1.1.0/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/config/navigation.py +39 -0
  33. zrb-1.1.0/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/route.py +107 -0
  34. zrb-1.1.0/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/schema/navigation.py +95 -0
  35. zrb-1.1.0/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/subroute/auth.py +472 -0
  36. zrb-1.1.0/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/util/auth.py +66 -0
  37. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/util/view.py +33 -8
  38. zrb-1.1.0/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/auth/permission.html +311 -0
  39. zrb-1.1.0/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/error.html +9 -0
  40. zrb-1.1.0/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/login.html +67 -0
  41. zrb-1.1.0/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/logout.html +49 -0
  42. zrb-1.1.0/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/common/util.js +160 -0
  43. zrb-1.1.0/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/crud/style.css +14 -0
  44. zrb-1.1.0/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/crud/util.js +94 -0
  45. zrb-1.1.0/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/default/pico-style.css +23 -0
  46. zrb-1.1.0/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/default/script.js +44 -0
  47. zrb-1.1.0/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/default/style.css +102 -0
  48. zrb-1.1.0/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/template/default.html +89 -0
  49. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/requirements.txt +6 -1
  50. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/permission.py +1 -0
  51. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/user.py +9 -0
  52. zrb-1.1.0/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/_util/access_token.py +19 -0
  53. zrb-1.1.0/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/auth/permission/test_create_permission.py +59 -0
  54. zrb-1.1.0/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/auth/permission/test_delete_permission.py +68 -0
  55. zrb-1.1.0/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/auth/permission/test_read_permission.py +71 -0
  56. zrb-1.1.0/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/auth/permission/test_update_permission.py +66 -0
  57. zrb-1.1.0/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/auth/test_user_session.py +195 -0
  58. zrb-1.1.0/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/test_health_and_readiness.py +28 -0
  59. zrb-1.1.0/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/test_homepage.py +15 -0
  60. zrb-1.1.0/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/test_not_found_error.py +16 -0
  61. zrb-1.1.0/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test.sh +7 -0
  62. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/runner/web_route/refresh_token_api_route.py +1 -1
  63. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/runner/web_route/static/refresh-token.template.js +9 -0
  64. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/runner/web_route/static/static_route.py +1 -1
  65. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/task/base_task.py +10 -10
  66. zrb-1.1.0/src/zrb/util/codemod/modification_mode.py +3 -0
  67. zrb-1.1.0/src/zrb/util/codemod/modify_class.py +58 -0
  68. zrb-1.1.0/src/zrb/util/codemod/modify_class_parent.py +68 -0
  69. zrb-1.1.0/src/zrb/util/codemod/modify_class_property.py +128 -0
  70. zrb-1.1.0/src/zrb/util/codemod/modify_dict.py +75 -0
  71. zrb-1.1.0/src/zrb/util/codemod/modify_function.py +65 -0
  72. zrb-1.1.0/src/zrb/util/codemod/modify_function_call.py +68 -0
  73. zrb-1.1.0/src/zrb/util/codemod/modify_method.py +88 -0
  74. zrb-1.0.0b9/src/zrb/util/codemod/prepend_code_to_module.py → zrb-1.1.0/src/zrb/util/codemod/modify_module.py +2 -3
  75. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/util/file.py +3 -2
  76. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/util/load.py +13 -7
  77. zrb-1.1.0/src/zrb/util/string/__init__.py +0 -0
  78. zrb-1.1.0/src/zrb/xcom/__init__.py +0 -0
  79. zrb-1.0.0b9/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/.gitignore +0 -4
  80. zrb-1.0.0b9/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/column/add_column_task.py +0 -93
  81. zrb-1.0.0b9/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/gateway_subroute.py +0 -74
  82. zrb-1.0.0b9/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/gateway/subroute/my_module.py +0 -7
  83. zrb-1.0.0b9/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/migrate.py +0 -3
  84. zrb-1.0.0b9/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/route.py +0 -66
  85. zrb-1.0.0b9/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/subroute/auth.py +0 -239
  86. zrb-1.0.0b9/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/error.html +0 -6
  87. zrb-1.0.0b9/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/template/default.html +0 -34
  88. zrb-1.0.0b9/src/zrb/util/codemod/append_code_to_class.py +0 -35
  89. zrb-1.0.0b9/src/zrb/util/codemod/append_code_to_function.py +0 -38
  90. zrb-1.0.0b9/src/zrb/util/codemod/append_code_to_method.py +0 -55
  91. zrb-1.0.0b9/src/zrb/util/codemod/append_key_to_dict.py +0 -51
  92. zrb-1.0.0b9/src/zrb/util/codemod/append_param_to_function_call.py +0 -39
  93. zrb-1.0.0b9/src/zrb/util/codemod/prepend_parent_to_class.py +0 -38
  94. zrb-1.0.0b9/src/zrb/util/codemod/prepend_property_to_class.py +0 -55
  95. {zrb-1.0.0b9 → zrb-1.1.0}/README.md +0 -0
  96. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/__init__.py +0 -0
  97. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/__main__.py +0 -0
  98. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/attr/__init__.py +0 -0
  99. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/attr/type.py +0 -0
  100. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/__init__.py +0 -0
  101. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/base64.py +0 -0
  102. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/git.py +0 -0
  103. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/git_subtree.py +0 -0
  104. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/group.py +0 -0
  105. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/llm/llm_chat.py +0 -0
  106. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/llm/previous-session.js +0 -0
  107. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/llm/tool/api.py +0 -0
  108. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/llm/tool/cli.py +0 -0
  109. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/llm/tool/rag.py +0 -0
  110. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/llm/tool/web.py +0 -0
  111. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/md5.py +0 -0
  112. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/__init__.py +0 -0
  113. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_input.py +0 -0
  114. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_task.py +0 -0
  115. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/.flake8 +0 -0
  116. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/README.md +0 -0
  117. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/__init__.py +0 -0
  118. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/app_template/module/my_module/service/my_entity/my_entity_service.py +0 -0
  119. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/app_template/module/my_module/service/my_entity/my_entity_service_factory.py +0 -0
  120. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/app_template/module/my_module/service/my_entity/repository/my_entity_db_repository.py +0 -0
  121. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/app_template/module/my_module/service/my_entity/repository/my_entity_repository.py +0 -0
  122. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/app_template/module/my_module/service/my_entity/repository/my_entity_repository_factory.py +0 -0
  123. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/app_template/schema/my_entity.py +0 -0
  124. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/client_method.py +0 -0
  125. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/format_task.py +0 -0
  126. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/group.py +0 -0
  127. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/input.py +0 -0
  128. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/my_module/alembic.ini +0 -0
  129. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/my_module/client/my_module_api_client.py +0 -0
  130. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/my_module/client/my_module_client.py +0 -0
  131. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/my_module/client/my_module_client_factory.py +0 -0
  132. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/my_module/client/my_module_direct_client.py +0 -0
  133. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/my_module/migration/README +0 -0
  134. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/my_module/migration/env.py +0 -0
  135. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/my_module/migration/script.py.mako +0 -0
  136. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/my_module/migration/versions/.gitkeep +0 -0
  137. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/my_module/migration_metadata.py +0 -0
  138. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/my_module/route.py +0 -0
  139. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/my_module/service/__init__.py +0 -0
  140. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/util.py +0 -0
  141. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/venv_task.py +0 -0
  142. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/__init__.py +0 -0
  143. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/app_factory.py +0 -0
  144. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/base_db_repository.py +0 -0
  145. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/db_engine_factory.py +0 -0
  146. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/error.py +0 -0
  147. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/logger_factory.py +0 -0
  148. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/parser_factory.py +0 -0
  149. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/schema.py +0 -0
  150. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/util/app.py +0 -0
  151. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/util/user_agent.py +0 -0
  152. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/main.py +0 -0
  153. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/__init__.py +0 -0
  154. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/alembic.ini +0 -0
  155. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/client/auth_api_client.py +0 -0
  156. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/client/auth_client.py +0 -0
  157. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/client/auth_client_factory.py +0 -0
  158. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/client/auth_direct_client.py +0 -0
  159. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/migration/README +0 -0
  160. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/migration/env.py +0 -0
  161. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/migration/script.py.mako +0 -0
  162. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/migration_metadata.py +0 -0
  163. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/route.py +0 -0
  164. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/__init__.py +0 -0
  165. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/permission/__init__.py +0 -0
  166. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/permission/permission_service.py +0 -0
  167. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/permission/permission_service_factory.py +0 -0
  168. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/permission/repository/permission_db_repository.py +0 -0
  169. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/permission/repository/permission_repository.py +0 -0
  170. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/permission/repository/permission_repository_factory.py +0 -0
  171. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/role/__init__.py +0 -0
  172. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/role/repository/role_db_repository.py +0 -0
  173. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/role/repository/role_repository.py +0 -0
  174. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/role/repository/role_repository_factory.py +0 -0
  175. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/role/role_service.py +0 -0
  176. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/role/role_service_factory.py +0 -0
  177. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/__init__.py +0 -0
  178. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/repository/user_repository.py +0 -0
  179. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/repository/user_repository_factory.py +0 -0
  180. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/user_service_factory.py +0 -0
  181. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/alembic.ini +0 -0
  182. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/migration/README +0 -0
  183. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/migration/env.py +0 -0
  184. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/migration/script.py.mako +0 -0
  185. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/migration/versions/.gitkeep +0 -0
  186. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/migration_metadata.py +0 -0
  187. /zrb-1.0.0b9/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/__init__.py → /zrb-1.1.0/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/auth/role.html +0 -0
  188. /zrb-1.0.0b9/src/zrb/builtin/project/create/__init__.py → /zrb-1.1.0/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/auth/user.html +0 -0
  189. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/homepage.html +0 -0
  190. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/images/android-chrome-192x192.png +0 -0
  191. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/images/android-chrome-512x512.png +0 -0
  192. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/images/favicon-32x32.png +0 -0
  193. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.amber.min.css +0 -0
  194. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.blue.min.css +0 -0
  195. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.cyan.min.css +0 -0
  196. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.fuchsia.min.css +0 -0
  197. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.green.min.css +0 -0
  198. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.grey.min.css +0 -0
  199. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.indigo.min.css +0 -0
  200. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.jade.min.css +0 -0
  201. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.lime.min.css +0 -0
  202. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.min.css +0 -0
  203. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.orange.min.css +0 -0
  204. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.pink.min.css +0 -0
  205. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.pumpkin.min.css +0 -0
  206. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.purple.min.css +0 -0
  207. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.red.min.css +0 -0
  208. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.sand.min.css +0 -0
  209. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.slate.min.css +0 -0
  210. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.violet.min.css +0 -0
  211. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.yellow.min.css +0 -0
  212. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.zinc.min.css +0 -0
  213. {zrb-1.0.0b9/src/zrb/builtin/shell → zrb-1.1.0/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema}/__init__.py +0 -0
  214. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/role.py +0 -0
  215. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/template.env +0 -0
  216. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/add/fastapp/fastapp_util.py +0 -0
  217. {zrb-1.0.0b9/src/zrb/builtin/shell/autocomplete → zrb-1.1.0/src/zrb/builtin/project/create}/__init__.py +0 -0
  218. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/create/project-template/README.md +0 -0
  219. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/create/project-template/zrb_init.py +0 -0
  220. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/project/create/project_task.py +0 -0
  221. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/python.py +0 -0
  222. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/random.py +0 -0
  223. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/setup/asdf/asdf.py +0 -0
  224. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/setup/asdf/asdf_helper.py +0 -0
  225. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/setup/common_input.py +0 -0
  226. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/setup/latex/ubuntu.py +0 -0
  227. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/setup/tmux/tmux.py +0 -0
  228. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/setup/tmux/tmux_config.sh +0 -0
  229. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/setup/tmux/tmux_helper.py +0 -0
  230. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/setup/ubuntu.py +0 -0
  231. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/setup/zsh/zsh.py +0 -0
  232. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/setup/zsh/zsh_config.sh +0 -0
  233. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/setup/zsh/zsh_helper.py +0 -0
  234. {zrb-1.0.0b9/src/zrb/callback → zrb-1.1.0/src/zrb/builtin/shell}/__init__.py +0 -0
  235. {zrb-1.0.0b9/src/zrb/cmd → zrb-1.1.0/src/zrb/builtin/shell/autocomplete}/__init__.py +0 -0
  236. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/shell/autocomplete/bash.py +0 -0
  237. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/shell/autocomplete/subcmd.py +0 -0
  238. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/shell/autocomplete/zsh.py +0 -0
  239. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/builtin/todo.py +0 -0
  240. {zrb-1.0.0b9/src/zrb/content_transformer → zrb-1.1.0/src/zrb/callback}/__init__.py +0 -0
  241. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/callback/any_callback.py +0 -0
  242. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/callback/callback.py +0 -0
  243. {zrb-1.0.0b9/src/zrb/context → zrb-1.1.0/src/zrb/cmd}/__init__.py +0 -0
  244. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/cmd/cmd_result.py +0 -0
  245. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/cmd/cmd_val.py +0 -0
  246. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/config.py +0 -0
  247. {zrb-1.0.0b9/src/zrb/dot_dict → zrb-1.1.0/src/zrb/content_transformer}/__init__.py +0 -0
  248. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/content_transformer/any_content_transformer.py +0 -0
  249. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/content_transformer/content_transformer.py +0 -0
  250. {zrb-1.0.0b9/src/zrb/env → zrb-1.1.0/src/zrb/context}/__init__.py +0 -0
  251. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/context/any_context.py +0 -0
  252. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/context/any_shared_context.py +0 -0
  253. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/context/context.py +0 -0
  254. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/context/shared_context.py +0 -0
  255. {zrb-1.0.0b9/src/zrb/group → zrb-1.1.0/src/zrb/dot_dict}/__init__.py +0 -0
  256. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/dot_dict/dot_dict.py +0 -0
  257. {zrb-1.0.0b9/src/zrb/input → zrb-1.1.0/src/zrb/env}/__init__.py +0 -0
  258. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/env/any_env.py +0 -0
  259. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/env/env.py +0 -0
  260. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/env/env_file.py +0 -0
  261. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/env/env_map.py +0 -0
  262. {zrb-1.0.0b9/src/zrb/runner → zrb-1.1.0/src/zrb/group}/__init__.py +0 -0
  263. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/group/any_group.py +0 -0
  264. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/group/group.py +0 -0
  265. {zrb-1.0.0b9/src/zrb/runner/web_route → zrb-1.1.0/src/zrb/input}/__init__.py +0 -0
  266. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/input/any_input.py +0 -0
  267. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/input/base_input.py +0 -0
  268. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/input/bool_input.py +0 -0
  269. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/input/float_input.py +0 -0
  270. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/input/int_input.py +0 -0
  271. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/input/option_input.py +0 -0
  272. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/input/password_input.py +0 -0
  273. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/input/str_input.py +0 -0
  274. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/input/text_input.py +0 -0
  275. {zrb-1.0.0b9/src/zrb/runner/web_route/home_page → zrb-1.1.0/src/zrb/runner}/__init__.py +0 -0
  276. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/runner/cli.py +0 -0
  277. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/runner/common_util.py +0 -0
  278. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/runner/web_app.py +0 -0
  279. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/runner/web_config/config.py +0 -0
  280. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/runner/web_config/config_factory.py +0 -0
  281. {zrb-1.0.0b9/src/zrb/session → zrb-1.1.0/src/zrb/runner/web_route}/__init__.py +0 -0
  282. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/runner/web_route/docs_route.py +0 -0
  283. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/runner/web_route/error_page/serve_default_404.py +0 -0
  284. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/runner/web_route/error_page/show_error_page.py +0 -0
  285. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/runner/web_route/error_page/view.html +0 -0
  286. {zrb-1.0.0b9/src/zrb/session_state_log → zrb-1.1.0/src/zrb/runner/web_route/home_page}/__init__.py +0 -0
  287. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/runner/web_route/home_page/home_page_route.py +0 -0
  288. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/runner/web_route/home_page/view.html +0 -0
  289. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/runner/web_route/login_api_route.py +0 -0
  290. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/runner/web_route/login_page/login_page_route.py +0 -0
  291. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/runner/web_route/login_page/view.html +0 -0
  292. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/runner/web_route/logout_api_route.py +0 -0
  293. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/runner/web_route/logout_page/logout_page_route.py +0 -0
  294. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/runner/web_route/logout_page/view.html +0 -0
  295. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/runner/web_route/node_page/group/show_group_page.py +0 -0
  296. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/runner/web_route/node_page/group/view.html +0 -0
  297. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/runner/web_route/node_page/node_page_route.py +0 -0
  298. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/runner/web_route/node_page/task/partial/input.html +0 -0
  299. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/runner/web_route/node_page/task/show_task_page.py +0 -0
  300. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/runner/web_route/node_page/task/view.html +0 -0
  301. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/runner/web_route/static/resources/common.css +0 -0
  302. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/runner/web_route/static/resources/favicon-32x32.png +0 -0
  303. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/runner/web_route/static/resources/login/event.js +0 -0
  304. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/runner/web_route/static/resources/logout/event.js +0 -0
  305. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/runner/web_route/static/resources/pico.min.css +0 -0
  306. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/runner/web_route/static/resources/session/common-util.js +0 -0
  307. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/runner/web_route/static/resources/session/current-session.js +0 -0
  308. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/runner/web_route/static/resources/session/event.js +0 -0
  309. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/runner/web_route/static/resources/session/past-session.js +0 -0
  310. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/runner/web_route/task_input_api_route.py +0 -0
  311. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/runner/web_route/task_session_api_route.py +0 -0
  312. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/runner/web_schema/session.py +0 -0
  313. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/runner/web_schema/token.py +0 -0
  314. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/runner/web_schema/user.py +0 -0
  315. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/runner/web_util/cookie.py +0 -0
  316. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/runner/web_util/html.py +0 -0
  317. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/runner/web_util/token.py +0 -0
  318. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/runner/web_util/user.py +0 -0
  319. {zrb-1.0.0b9/src/zrb/session_state_logger → zrb-1.1.0/src/zrb/session}/__init__.py +0 -0
  320. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/session/any_session.py +0 -0
  321. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/session/session.py +0 -0
  322. {zrb-1.0.0b9/src/zrb/task → zrb-1.1.0/src/zrb/session_state_log}/__init__.py +0 -0
  323. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/session_state_log/session_state_log.py +0 -0
  324. {zrb-1.0.0b9/src/zrb/task_status → zrb-1.1.0/src/zrb/session_state_logger}/__init__.py +0 -0
  325. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/session_state_logger/any_session_state_logger.py +0 -0
  326. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/session_state_logger/file_session_state_logger.py +0 -0
  327. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/session_state_logger/session_state_logger_factory.py +0 -0
  328. {zrb-1.0.0b9/src/zrb/util → zrb-1.1.0/src/zrb/task}/__init__.py +0 -0
  329. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/task/any_task.py +0 -0
  330. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/task/base_trigger.py +0 -0
  331. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/task/cmd_task.py +0 -0
  332. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/task/http_check.py +0 -0
  333. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/task/llm_task.py +0 -0
  334. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/task/make_task.py +0 -0
  335. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/task/rsync_task.py +0 -0
  336. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/task/scaffolder.py +0 -0
  337. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/task/scheduler.py +0 -0
  338. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/task/task.py +0 -0
  339. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/task/tcp_check.py +0 -0
  340. {zrb-1.0.0b9/src/zrb/util/cli → zrb-1.1.0/src/zrb/task_status}/__init__.py +0 -0
  341. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/task_status/task_status.py +0 -0
  342. {zrb-1.0.0b9/src/zrb/util/cmd → zrb-1.1.0/src/zrb/util}/__init__.py +0 -0
  343. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/util/attr.py +0 -0
  344. {zrb-1.0.0b9/src/zrb/util/codemod → zrb-1.1.0/src/zrb/util/cli}/__init__.py +0 -0
  345. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/util/cli/style.py +0 -0
  346. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/util/cli/subcommand.py +0 -0
  347. {zrb-1.0.0b9/src/zrb/util/string → zrb-1.1.0/src/zrb/util/cmd}/__init__.py +0 -0
  348. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/util/cmd/command.py +0 -0
  349. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/util/cmd/remote.py +0 -0
  350. {zrb-1.0.0b9/src/zrb/xcom → zrb-1.1.0/src/zrb/util/codemod}/__init__.py +0 -0
  351. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/util/cron.py +0 -0
  352. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/util/git.py +0 -0
  353. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/util/git_subtree.py +0 -0
  354. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/util/group.py +0 -0
  355. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/util/llm/tool.py +0 -0
  356. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/util/run.py +0 -0
  357. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/util/string/conversion.py +0 -0
  358. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/util/string/format.py +0 -0
  359. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/util/string/name.py +0 -0
  360. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/util/todo.py +0 -0
  361. {zrb-1.0.0b9 → zrb-1.1.0}/src/zrb/xcom/xcom.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: zrb
3
- Version: 1.0.0b9
3
+ Version: 1.1.0
4
4
  Summary: Your Automation Powerhouse
5
5
  Home-page: https://github.com/state-alchemists/zrb
6
6
  License: AGPL-3.0-or-later
@@ -26,7 +26,7 @@ Requires-Dist: pdfplumber (>=0.11.4,<0.12.0) ; extra == "rag"
26
26
  Requires-Dist: psutil (>=6.1.1,<7.0.0)
27
27
  Requires-Dist: pydantic-ai (>=0.0.19,<0.0.20)
28
28
  Requires-Dist: python-dotenv (>=1.0.1,<2.0.0)
29
- Requires-Dist: python-jose[cryptography] (>=3.3.0,<4.0.0)
29
+ Requires-Dist: python-jose[cryptography] (>=3.4.0,<4.0.0)
30
30
  Requires-Dist: requests (>=2.32.3,<3.0.0)
31
31
  Requires-Dist: ulid-py (>=1.1.0,<2.0.0)
32
32
  Project-URL: Documentation, https://github.com/state-alchemists/zrb
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "zrb"
3
- version = "1.0.0b9"
3
+ version = "1.1.0"
4
4
  description = "Your Automation Powerhouse"
5
5
  authors = ["Go Frendi Gunawan <gofrendiasgard@gmail.com>"]
6
6
  license = "AGPL-3.0-or-later"
@@ -48,7 +48,7 @@ chromadb = {version = "^0.5.20", optional = true}
48
48
  pdfplumber = {version = "^0.11.4", optional = true}
49
49
  beautifulsoup4 = "^4.12.3"
50
50
  fastapi = {extras = ["standard"], version = "^0.115.6"}
51
- python-jose = {extras = ["cryptography"], version = "^3.3.0"}
51
+ python-jose = {extras = ["cryptography"], version = "^3.4.0"}
52
52
  ulid-py = "^1.1.0"
53
53
  pydantic-ai = "^0.0.19"
54
54
  fastembed = "^0.5.1"
@@ -58,7 +58,7 @@ psutil = "^6.1.1"
58
58
  # poetry install -E rag
59
59
  rag = ["chromadb", "pdfplumber"]
60
60
 
61
- [tool.poetry.dev-dependencies]
61
+ [tool.poetry.group.dev.dependencies]
62
62
  alembic = "^1.14.0" # FastApp dependencies
63
63
  flake8 = "~7.1.1"
64
64
  pytest = "~8.3.3"
@@ -0,0 +1,11 @@
1
+ [run]
2
+ omit =
3
+ _zrb/*
4
+
5
+ [report]
6
+ # Show missing lines in the terminal report
7
+ show_missing = True
8
+
9
+ [html]
10
+ # Set the output directory for HTML reports (optional)
11
+ directory = htmlcov
@@ -0,0 +1,8 @@
1
+ __pycache__
2
+ .venv
3
+ .env
4
+ *.db
5
+
6
+ htmlcov
7
+ .coverage
8
+ .pytest_cache
@@ -0,0 +1,137 @@
1
+ import os
2
+
3
+ from my_app_name._zrb.column.add_column_util import (
4
+ update_fastapp_schema,
5
+ update_fastapp_test_create,
6
+ update_fastapp_test_delete,
7
+ update_fastapp_test_read,
8
+ update_fastapp_test_update,
9
+ update_fastapp_ui,
10
+ )
11
+ from my_app_name._zrb.config import APP_DIR
12
+ from my_app_name._zrb.format_task import format_my_app_name_code
13
+ from my_app_name._zrb.group import app_create_group
14
+ from my_app_name._zrb.input import (
15
+ existing_entity_input,
16
+ existing_module_input,
17
+ new_column_input,
18
+ new_column_type_input,
19
+ )
20
+ from my_app_name._zrb.util import get_existing_module_names, get_existing_schema_names
21
+
22
+ from zrb import AnyContext, Task, make_task
23
+
24
+
25
+ @make_task(
26
+ name="validate-add-fastapp-column",
27
+ input=[
28
+ existing_module_input,
29
+ existing_entity_input,
30
+ ],
31
+ retries=0,
32
+ )
33
+ async def validate_add_fastapp_column(ctx: AnyContext):
34
+ module_name = ctx.input.module
35
+ if module_name not in get_existing_module_names():
36
+ raise ValueError(f"Module not exist: {module_name}")
37
+ schema_name = ctx.input.entity
38
+ if schema_name not in get_existing_schema_names():
39
+ raise ValueError(f"Schema not exist: {schema_name}")
40
+
41
+
42
+ update_fastapp_schema_task = Task(
43
+ name="update-fastapp-schema",
44
+ input=[
45
+ existing_module_input,
46
+ existing_entity_input,
47
+ new_column_input,
48
+ new_column_type_input,
49
+ ],
50
+ action=update_fastapp_schema,
51
+ retries=0,
52
+ upstream=validate_add_fastapp_column,
53
+ )
54
+
55
+ update_fastapp_ui_task = Task(
56
+ name="update-fastapp-ui",
57
+ input=[
58
+ existing_module_input,
59
+ existing_entity_input,
60
+ new_column_input,
61
+ new_column_type_input,
62
+ ],
63
+ action=update_fastapp_ui,
64
+ retries=0,
65
+ upstream=validate_add_fastapp_column,
66
+ )
67
+
68
+ update_fastapp_test_create_task = Task(
69
+ name="update-fastapp-test-create",
70
+ input=[
71
+ existing_module_input,
72
+ existing_entity_input,
73
+ new_column_input,
74
+ new_column_type_input,
75
+ ],
76
+ action=update_fastapp_test_create,
77
+ retries=0,
78
+ upstream=validate_add_fastapp_column,
79
+ )
80
+
81
+ update_fastapp_test_read_task = Task(
82
+ name="update-fastapp-test-read",
83
+ input=[
84
+ existing_module_input,
85
+ existing_entity_input,
86
+ new_column_input,
87
+ new_column_type_input,
88
+ ],
89
+ action=update_fastapp_test_read,
90
+ retries=0,
91
+ upstream=validate_add_fastapp_column,
92
+ )
93
+
94
+ update_fastapp_test_update_task = Task(
95
+ name="update-fastapp-test-update",
96
+ input=[
97
+ existing_module_input,
98
+ existing_entity_input,
99
+ new_column_input,
100
+ new_column_type_input,
101
+ ],
102
+ action=update_fastapp_test_update,
103
+ retries=0,
104
+ upstream=validate_add_fastapp_column,
105
+ )
106
+
107
+ update_fastapp_test_delete_task = Task(
108
+ name="update-fastapp-test-delete",
109
+ input=[
110
+ existing_module_input,
111
+ existing_entity_input,
112
+ new_column_input,
113
+ new_column_type_input,
114
+ ],
115
+ action=update_fastapp_test_delete,
116
+ retries=0,
117
+ upstream=validate_add_fastapp_column,
118
+ )
119
+
120
+
121
+ add_fastapp_column = app_create_group.add_task(
122
+ Task(
123
+ name="add-fastapp-column",
124
+ description="📊 Create new column on an entity",
125
+ upstream=[
126
+ update_fastapp_schema_task,
127
+ update_fastapp_ui_task,
128
+ update_fastapp_test_create_task,
129
+ update_fastapp_test_read_task,
130
+ update_fastapp_test_update_task,
131
+ update_fastapp_test_delete_task,
132
+ ],
133
+ successor=format_my_app_name_code,
134
+ retries=0,
135
+ ),
136
+ alias="column",
137
+ )
@@ -0,0 +1,301 @@
1
+ import os
2
+ import re
3
+ import textwrap
4
+
5
+ from bs4 import BeautifulSoup, formatter
6
+ from my_app_name._zrb.config import APP_DIR
7
+
8
+ from zrb.context.any_context import AnyContext
9
+ from zrb.util.codemod.modify_class import append_code_to_class
10
+ from zrb.util.codemod.modify_class_parent import prepend_parent_class
11
+ from zrb.util.codemod.modify_class_property import append_property_to_class
12
+ from zrb.util.codemod.modify_function import append_code_to_function
13
+ from zrb.util.codemod.modify_module import prepend_code_to_module
14
+ from zrb.util.file import read_file, write_file
15
+ from zrb.util.string.conversion import (
16
+ to_human_case,
17
+ to_kebab_case,
18
+ to_pascal_case,
19
+ to_snake_case,
20
+ )
21
+
22
+
23
+ def update_fastapp_schema(ctx: AnyContext):
24
+ snake_entity_name = to_snake_case(ctx.input.entity)
25
+ pascal_entity_name = to_pascal_case(ctx.input.entity)
26
+ snake_column_name = to_snake_case(ctx.input.column)
27
+ column_type = ctx.input.type
28
+ schema_file_path = os.path.join(APP_DIR, "schema", f"{snake_entity_name}.py")
29
+ existing_code = read_file(schema_file_path)
30
+ # Base
31
+ new_code = append_property_to_class(
32
+ original_code=existing_code,
33
+ class_name=f"{pascal_entity_name}Base",
34
+ property_name=snake_column_name,
35
+ annotation=column_type,
36
+ default_value=_get_default_column_value(column_type),
37
+ )
38
+ # Update
39
+ new_code = append_property_to_class(
40
+ original_code=new_code,
41
+ class_name=f"{pascal_entity_name}Update",
42
+ property_name=snake_column_name,
43
+ annotation=f"{column_type} | None",
44
+ default_value="None",
45
+ )
46
+ # Table
47
+ new_code = append_property_to_class(
48
+ original_code=new_code,
49
+ class_name=f"{pascal_entity_name}",
50
+ property_name=snake_column_name,
51
+ annotation=f"{column_type} | None",
52
+ default_value="Field(index=False)",
53
+ )
54
+ write_file(schema_file_path, new_code)
55
+
56
+
57
+ def _get_default_column_value(data_type: str) -> str:
58
+ if data_type == "str":
59
+ return '""'
60
+ if data_type in ("int", "float"):
61
+ return "0"
62
+ if data_type == "bool":
63
+ return "True"
64
+ return "None"
65
+
66
+
67
+ def update_fastapp_ui(ctx: AnyContext):
68
+ kebab_module_name = to_kebab_case(ctx.input.module)
69
+ kebab_entity_name = to_kebab_case(ctx.input.entity)
70
+ snake_column_name = to_snake_case(ctx.input.column)
71
+ human_column_name = to_human_case(ctx.input.column).title()
72
+ subroute_file_path = os.path.join(
73
+ APP_DIR,
74
+ "module",
75
+ "gateway",
76
+ "view",
77
+ "content",
78
+ kebab_module_name,
79
+ f"{kebab_entity_name}.html",
80
+ )
81
+ existing_code = read_file(subroute_file_path)
82
+ # Add table header
83
+ new_code = _add_th_before_last(
84
+ existing_code, table_id="crud-table", th_content=human_column_name
85
+ )
86
+ # Forms
87
+ new_code = _add_input_to_form(
88
+ new_code,
89
+ form_id="crud-create-form",
90
+ column_label=human_column_name,
91
+ column_name=snake_column_name,
92
+ )
93
+ new_code = _add_input_to_form(
94
+ new_code,
95
+ form_id="crud-update-form",
96
+ column_label=human_column_name,
97
+ column_name=snake_column_name,
98
+ )
99
+ new_code = _add_input_to_form(
100
+ new_code,
101
+ form_id="crud-delete-form",
102
+ column_label=human_column_name,
103
+ column_name=snake_column_name,
104
+ )
105
+ # JS Function
106
+ new_code = _alter_js_function_returned_array(
107
+ new_code,
108
+ js_function_name="getRowComponents",
109
+ js_array_name="rowComponents",
110
+ js_new_value=f"`<td>${{row.{snake_column_name}}}</td>`",
111
+ )
112
+ write_file(subroute_file_path, new_code)
113
+
114
+
115
+ def _add_th_before_last(html_str, table_id, th_content):
116
+ # Use the html.parser; you might try html5lib if you find that it preserves formatting better.
117
+ soup = BeautifulSoup(html_str, "html.parser")
118
+ # Locate the table with the specified id
119
+ table = soup.find("table", id=table_id)
120
+ if not table:
121
+ # Table not found; return original HTML unchanged.
122
+ return html_str
123
+ # Find the thead element in the table.
124
+ thead = table.find("thead")
125
+ if not thead:
126
+ return html_str
127
+ # For this example, we assume there's a single row (<tr>) in the thead.
128
+ row = thead.find("tr")
129
+ if not row:
130
+ return html_str
131
+ # Find all existing th elements in the row.
132
+ th_elements = row.find_all("th")
133
+ if not th_elements:
134
+ return html_str
135
+ # Create a new th element and set its content.
136
+ new_th = soup.new_tag("th")
137
+ new_th.string = th_content
138
+ # Insert the new th right before the last existing th.
139
+ th_elements[-1].insert_before(new_th)
140
+ # Return the modified HTML as a string.
141
+ return soup.prettify(
142
+ formatter=formatter.HTMLFormatter(indent=_infer_html_indent_width(html_str))
143
+ )
144
+
145
+
146
+ def _add_input_to_form(
147
+ html_str: str, form_id: str, column_label: str, column_name: str
148
+ ) -> str:
149
+ soup = BeautifulSoup(html_str, "html.parser")
150
+ # Find the form by id.
151
+ form = soup.find("form", id=form_id)
152
+ if not form:
153
+ return html_str # Return unchanged if no matching form is found.
154
+ # Create a new label element with the provided column label.
155
+ new_label = soup.new_tag("label")
156
+ new_label.append(f"{column_label}: ")
157
+ # Create a new input element with the provided column name.
158
+ new_input = soup.new_tag(
159
+ "input", attrs={"type": "text", "name": column_name, "required": "required"}
160
+ )
161
+ new_label.append(new_input)
162
+ # Look for a footer element inside the form.
163
+ footer = form.find("footer")
164
+ if footer:
165
+ # Insert the new label before the footer.
166
+ footer.insert_before(new_label)
167
+ else:
168
+ # If no footer exists, simply append the new label to the form.
169
+ form.append(new_label)
170
+ return soup.prettify(
171
+ formatter=formatter.HTMLFormatter(indent=_infer_html_indent_width(html_str))
172
+ )
173
+
174
+
175
+ def _infer_html_indent_width(html_str: str) -> int:
176
+ """
177
+ Infer the indentation width (number of spaces) from the HTML string.
178
+ It looks for the first non-empty line that starts with whitespace
179
+ followed by '<' and returns the number of leading spaces.
180
+ If none is found, defaults to 2.
181
+ """
182
+ for line in textwrap.dedent(html_str).splitlines():
183
+ stripped = line.lstrip()
184
+ if stripped.startswith("<") and line != stripped:
185
+ return len(line) - len(stripped)
186
+ return 2
187
+
188
+
189
+ def _alter_js_function_returned_array(
190
+ html_str: str, js_function_name: str, js_array_name: str, js_new_value: str
191
+ ) -> str:
192
+ """
193
+ Inserts a new push into the specified JavaScript function.
194
+
195
+ It finds the function definition with the given js_function_name,
196
+ then looks for the first return statement inside the function body,
197
+ and inserts a new line that pushes js_new_value into js_arr_name.
198
+
199
+ Parameters:
200
+ html_str (str): The HTML containing the JavaScript.
201
+ js_function_name (str): The name of the JavaScript function to modify.
202
+ js_arr_name (str): The name of the array inside that function.
203
+ js_new_value (str): The new value to push. (Pass the JS literal as a string,
204
+ e.g. "`<td>NEW</td>`" or '"<td>NEW</td>"'.)
205
+
206
+ Returns:
207
+ str: The modified HTML.
208
+ """
209
+ # This pattern finds:
210
+ # 1. The function signature and opening brace.
211
+ # 2. All content (non-greedily) until we hit a newline containing a return statement.
212
+ # 3. Captures the newline and leading whitespace (indent) of the return statement.
213
+ # 4. Captures the rest of the return line.
214
+ pattern = (
215
+ r"(function\s+"
216
+ + re.escape(js_function_name)
217
+ + r"\s*\([^)]*\)\s*\{)" # group1: function header
218
+ r"([\s\S]*?)" # group2: code before return
219
+ r"(\n(\s*)return\s+[^;]+;)" # group3: newline+return line, group4: indent
220
+ )
221
+
222
+ def replacer(match):
223
+ header = match.group(1)
224
+ before_return = match.group(2)
225
+ return_line = match.group(3)
226
+ indent = match.group(4)
227
+ # Create the new push statement. We add a newline plus the same indent.
228
+ # The resulting line will be, e.g.,
229
+ # " rowComponents.push(`<td>NEW</td>`);"
230
+ injection = f"\n{indent}{js_array_name}.push({js_new_value});"
231
+ return header + before_return + injection + return_line
232
+
233
+ # Use re.sub to replace only the first occurrence of the function
234
+ new_html, count = re.subn(
235
+ pattern, replacer, html_str, count=1, flags=re.MULTILINE | re.DOTALL
236
+ )
237
+ return new_html
238
+
239
+
240
+ def update_fastapp_test_create(ctx: AnyContext):
241
+ snake_module_name = to_snake_case(ctx.input.module)
242
+ snake_entity_name = to_snake_case(ctx.input.entity)
243
+ test_file_path = os.path.join(
244
+ APP_DIR,
245
+ "test",
246
+ snake_module_name,
247
+ snake_entity_name,
248
+ f"test_create_{snake_entity_name}.py",
249
+ )
250
+ existing_code = read_file(test_file_path)
251
+ new_code = existing_code
252
+ # TODO: update test
253
+ write_file(test_file_path, new_code)
254
+
255
+
256
+ def update_fastapp_test_read(ctx: AnyContext):
257
+ snake_module_name = to_snake_case(ctx.input.module)
258
+ snake_entity_name = to_snake_case(ctx.input.entity)
259
+ test_file_path = os.path.join(
260
+ APP_DIR,
261
+ "test",
262
+ snake_module_name,
263
+ snake_entity_name,
264
+ f"test_read_{snake_entity_name}.py",
265
+ )
266
+ existing_code = read_file(test_file_path)
267
+ new_code = existing_code
268
+ # TODO: update test
269
+ write_file(test_file_path, new_code)
270
+
271
+
272
+ def update_fastapp_test_update(ctx: AnyContext):
273
+ snake_module_name = to_snake_case(ctx.input.module)
274
+ snake_entity_name = to_snake_case(ctx.input.entity)
275
+ test_file_path = os.path.join(
276
+ APP_DIR,
277
+ "test",
278
+ snake_module_name,
279
+ snake_entity_name,
280
+ f"test_update_{snake_entity_name}.py",
281
+ )
282
+ existing_code = read_file(test_file_path)
283
+ new_code = existing_code
284
+ # TODO: update test
285
+ write_file(test_file_path, new_code)
286
+
287
+
288
+ def update_fastapp_test_delete(ctx: AnyContext):
289
+ snake_module_name = to_snake_case(ctx.input.module)
290
+ snake_entity_name = to_snake_case(ctx.input.entity)
291
+ test_file_path = os.path.join(
292
+ APP_DIR,
293
+ "test",
294
+ snake_module_name,
295
+ snake_entity_name,
296
+ f"test_delete_{snake_entity_name}.py",
297
+ )
298
+ existing_code = read_file(test_file_path)
299
+ new_code = existing_code
300
+ # TODO: update test
301
+ write_file(test_file_path, new_code)
@@ -13,6 +13,11 @@ MONOLITH_ENV_VARS = {
13
13
  "MY_APP_NAME_MODE": "monolith",
14
14
  "MY_APP_NAME_MODULES": "",
15
15
  }
16
+ TEST_ENV_VARS = {
17
+ "MY_APP_NAME_DB_URL": f"sqlite:///{APP_DIR}/test.db",
18
+ "MY_APP_NAME_AUTH_PRIORITIZE_NEW_SESSION": "1", # Need this because we will launch a new user session for each test
19
+ "MY_APP_NAME_AUTH_GUEST_USER_PERMISSIONs": "", # Guest user should not has any privilege for testing
20
+ }
16
21
 
17
22
  if platform.system() == "Windows":
18
23
  ACTIVATE_VENV_SCRIPT = "Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser; . .venv\\Scripts\\Activate" # noqa