Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: fastapi-practices/fastapi_best_architecture
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v1.1.1
Choose a base ref
...
head repository: fastapi-practices/fastapi_best_architecture
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref

Commits on Apr 18, 2025

  1. Update the changelog for v1.1.1 (#583)

    This commit was created by changelog-from-release in 'Release changelog' CI workflow
    
    Co-authored-by: wu-clan <wu-clan@users.noreply.github.com>
    wu-clan and wu-clan authored Apr 18, 2025
    Copy the full SHA
    9a36154 View commit details

Commits on Apr 21, 2025

  1. Copy the full SHA
    1d5f2dc View commit details
  2. Copy the full SHA
    e8c844e View commit details

Commits on Apr 23, 2025

  1. Copy the full SHA
    0833cd5 View commit details
  2. Copy the full SHA
    65500d7 View commit details
  3. Update the routing style of the task app (#588)

    * Update the routing style of the task app
    
    * Fix prefix
    wu-clan authored Apr 23, 2025
    Copy the full SHA
    338e50e View commit details
  4. Copy the full SHA
    193eba3 View commit details

Commits on Apr 24, 2025

  1. Update code generator table columns (#590)

    * Update code generator table columns
    
    * Update func doc
    wu-clan authored Apr 24, 2025
    Copy the full SHA
    5842127 View commit details

Commits on Apr 27, 2025

  1. Copy the full SHA
    9b3425d View commit details

Commits on Apr 28, 2025

  1. Optimize the server information retrieval (#595)

    * Optimize the server information retrieval
    
    * Update import
    
    * Fix typing
    wu-clan authored Apr 28, 2025
    Copy the full SHA
    bc5d142 View commit details
  2. Refactor the data rule to scope rule (#596)

    * WIP
    
    * update codes
    
    * update codes
    
    * update filter_data_permission
    
    * Fix schema
    
    * Fix issues
    wu-clan authored Apr 28, 2025
    Copy the full SHA
    032364e View commit details
  3. Copy the full SHA
    16a0f96 View commit details

Commits on May 5, 2025

  1. Copy the full SHA
    87f29e5 View commit details

Commits on May 13, 2025

  1. Copy the full SHA
    27b9cf4 View commit details

Commits on May 15, 2025

  1. Add plugin info config and interfaces (#601)

    * Add plugin info config and interfaces
    
    * Remove test data
    wu-clan authored May 15, 2025
    Copy the full SHA
    1e54b0b View commit details
  2. Copy the full SHA
    f4290dd View commit details
  3. Copy the full SHA
    1d32154 View commit details

Commits on May 16, 2025

  1. Copy the full SHA
    3c56829 View commit details
  2. Copy the full SHA
    a87ff74 View commit details

Commits on May 17, 2025

  1. Copy the full SHA
    a8ecb4a View commit details
  2. Update the new plugin status to changed (#607)

    * Fix cache update after plugin uninstall
    
    * Update new to changed
    wu-clan authored May 17, 2025
    Copy the full SHA
    85b0294 View commit details

Commits on May 20, 2025

  1. Copy the full SHA
    8998687 View commit details
  2. Copy the full SHA
    61edc81 View commit details
  3. Copy the full SHA
    8541059 View commit details
  4. Fix non-asyncio nested async IO (#610)

    * Fix non-asyncio nested async IO
    
    * Add redis init ping
    wu-clan authored May 20, 2025
    Copy the full SHA
    1a77341 View commit details
  5. Update the build plugin api params (#615)

    * Update the build plugin api params
    
    * update seek
    
    * fix lint
    wu-clan authored May 20, 2025
    Copy the full SHA
    63ba764 View commit details

Commits on May 22, 2025

  1. Copy the full SHA
    9b0d9f8 View commit details
  2. Update the OAuth2 module to plugin (#620)

    * Update the OAuth2 module to plugin
    
    * update create user social param
    wu-clan authored May 22, 2025
    Copy the full SHA
    bcc7641 View commit details
  3. Copy the full SHA
    f3f1ceb View commit details
  4. Update the menu path and type columns (#622)

    * Update the menu path and type columns
    
    * Update build vben5 tree
    
    * Update data
    wu-clan authored May 22, 2025
    Copy the full SHA
    b275481 View commit details

Commits on May 23, 2025

  1. Copy the full SHA
    2f76988 View commit details
  2. Copy the full SHA
    270ac3d View commit details
  3. Copy the full SHA
    ee7fe30 View commit details

Commits on May 25, 2025

  1. Copy the full SHA
    48574fb View commit details
  2. Copy the full SHA
    ed10e6f View commit details

Commits on May 26, 2025

  1. Update non-linked sidebar support (#633)

    * Update non-linked sidebar support
    
    * fix typing
    wu-clan authored May 26, 2025
    Copy the full SHA
    1cddd6e View commit details
  2. Copy the full SHA
    9f52629 View commit details
  3. Copy the full SHA
    39c3339 View commit details

Commits on May 27, 2025

  1. Optimize install and build of plugin zip (#636)

    * Optimiz install and build of plugin zip
    
    * fix import
    wu-clan authored May 27, 2025
    Copy the full SHA
    19ef52d View commit details

Commits on May 28, 2025

  1. Fix auto-increment id for postgres init data (#632)

    * fix: Reset auto-increment values for all tables based on max id
    
    * refactor: Remove auto-increment reset for mysql
    
    * remove unused code
    huyuwei1996 authored May 28, 2025
    Copy the full SHA
    5f3823c View commit details
  2. Copy the full SHA
    4a118c1 View commit details

Commits on May 29, 2025

  1. Copy the full SHA
    ccfe35e View commit details
  2. Copy the full SHA
    918c8a9 View commit details

Commits on May 30, 2025

  1. Copy the full SHA
    187dfa5 View commit details
  2. Copy the full SHA
    f05ed5c View commit details
  3. Copy the full SHA
    6ee3983 View commit details

Commits on May 31, 2025

  1. Copy the full SHA
    57ae7f0 View commit details
  2. Copy the full SHA
    86d9efd View commit details
  3. Copy the full SHA
    33ebc57 View commit details
  4. Copy the full SHA
    7659b63 View commit details
Showing with 8,378 additions and 6,046 deletions.
  1. +4 −4 .pre-commit-config.yaml
  2. +281 −0 CHANGELOG.md
  3. +10 −18 Dockerfile
  4. +3 −43 README.md
  5. +3 −43 README.zh-CN.md
  6. +12 −11 backend/.env.example
  7. +1 −1 backend/README.md
  8. +7 −0 backend/__init__.py
  9. +4 −9 backend/alembic/env.py
  10. +43 −0 backend/app/__init__.py
  11. +0 −2 backend/app/admin/api/router.py
  12. +1 −1 backend/app/admin/api/v1/auth/__init__.py
  13. +14 −8 backend/app/admin/api/v1/auth/auth.py
  14. +4 −4 backend/app/admin/api/v1/auth/captcha.py
  15. +7 −9 backend/app/admin/api/v1/log/login_log.py
  16. +7 −9 backend/app/admin/api/v1/log/opera_log.py
  17. +2 −0 backend/app/admin/api/v1/monitor/__init__.py
  18. +13 −10 backend/app/admin/api/v1/{sys/token.py → monitor/online.py}
  19. +2 −10 backend/app/admin/api/v1/monitor/redis.py
  20. +2 −10 backend/app/admin/api/v1/monitor/server.py
  21. +0 −11 backend/app/admin/api/v1/oauth2/__init__.py
  22. +7 −7 backend/app/admin/api/v1/sys/__init__.py
  23. +20 −16 backend/app/admin/api/v1/sys/data_rule.py
  24. +125 −0 backend/app/admin/api/v1/sys/data_scope.py
  25. +6 −5 backend/app/admin/api/v1/sys/dept.py
  26. +27 −0 backend/app/admin/api/v1/sys/files.py
  27. +8 −8 backend/app/admin/api/v1/sys/menu.py
  28. +56 −66 backend/app/admin/api/v1/sys/plugin.py
  29. +23 −34 backend/app/admin/api/v1/sys/role.py
  30. +0 −28 backend/app/admin/api/v1/sys/upload.py
  31. +77 −80 backend/app/admin/api/v1/sys/user.py
  32. +0 −35 backend/app/admin/conf.py
  33. +9 −14 backend/app/admin/crud/crud_data_rule.py
  34. +119 −0 backend/app/admin/crud/crud_data_scope.py
  35. +21 −15 backend/app/admin/crud/crud_dept.py
  36. +13 −9 backend/app/admin/crud/crud_login_log.py
  37. +14 −18 backend/app/admin/crud/crud_menu.py
  38. +24 −10 backend/app/admin/crud/crud_opera_log.py
  39. +29 −47 backend/app/admin/crud/crud_role.py
  40. +79 −122 backend/app/admin/crud/crud_user.py
  41. +1 −1 backend/app/admin/model/__init__.py
  42. +8 −8 backend/app/admin/model/data_rule.py
  43. +30 −0 backend/app/admin/model/data_scope.py
  44. +2 −2 backend/app/admin/model/dept.py
  45. +33 −13 backend/app/admin/model/m2m.py
  46. +4 −4 backend/app/admin/model/menu.py
  47. +9 −6 backend/app/admin/model/role.py
  48. +6 −9 backend/app/admin/model/user.py
  49. +0 −33 backend/app/admin/model/user_social.py
  50. +14 −5 backend/app/admin/schema/data_rule.py
  51. +52 −0 backend/app/admin/schema/data_scope.py
  52. +1 −1 backend/app/admin/schema/dept.py
  53. +6 −0 backend/app/admin/schema/login_log.py
  54. +5 −5 backend/app/admin/schema/menu.py
  55. +7 −1 backend/app/admin/schema/opera_log.py
  56. +13 −6 backend/app/admin/schema/role.py
  57. +0 −6 backend/app/admin/schema/token.py
  58. +17 −24 backend/app/admin/schema/user.py
  59. +73 −48 backend/app/admin/service/auth_service.py
  60. +24 −33 backend/app/admin/service/data_rule_service.py
  61. +138 −0 backend/app/admin/service/data_scope_service.py
  62. +12 −12 backend/app/admin/service/dept_service.py
  63. +7 −8 backend/app/admin/service/login_log_service.py
  64. +28 −37 backend/app/admin/service/menu_service.py
  65. +18 −8 backend/app/admin/service/opera_log_service.py
  66. +127 −0 backend/app/admin/service/plugin_service.py
  67. +60 −39 backend/app/admin/service/role_service.py
  68. +179 −199 backend/app/admin/service/user_service.py
  69. +6 −6 backend/app/task/README.md
  70. +4 −2 backend/app/task/__init__.py
  71. +13 −0 backend/app/task/actions.py
  72. +7 −3 backend/app/task/api/router.py
  73. +51 −0 backend/app/task/api/v1/control.py
  74. +57 −0 backend/app/task/api/v1/result.py
  75. +121 −0 backend/app/task/api/v1/scheduler.py
  76. +0 −58 backend/app/task/api/v1/task.py
  77. +32 −41 backend/app/task/celery.py
  78. +0 −19 backend/app/task/celery_task/db_log/tasks.py
  79. +0 −12 backend/app/task/celery_task/tasks.py
  80. +0 −73 backend/app/task/conf.py
  81. 0 backend/app/task/{celery_task → crud}/__init__.py
  82. +51 −0 backend/app/task/crud/crud_result.py
  83. +117 −0 backend/app/task/crud/crud_scheduler.py
  84. +20 −0 backend/app/task/enums.py
  85. +3 −0 backend/app/task/model/__init__.py
  86. +9 −0 backend/app/task/model/result.py
  87. +86 −0 backend/app/task/model/scheduler.py
  88. +8 −0 backend/app/task/schema/control.py
  89. +43 −0 backend/app/task/schema/result.py
  90. +51 −0 backend/app/task/schema/scheduler.py
  91. +0 −29 backend/app/task/schema/task.py
  92. +51 −0 backend/app/task/service/result_service.py
  93. +146 −0 backend/app/task/service/scheduler_service.py
  94. +0 −73 backend/app/task/service/task_service.py
  95. 0 backend/app/task/{celery_task/db_log → tasks}/__init__.py
  96. +3 −4 backend/app/task/{celery_task → tasks}/base.py
  97. +31 −0 backend/app/task/tasks/beat.py
  98. 0 backend/{plugin/casbin → app/task/tasks/db_log}/__init__.py
  99. +20 −0 backend/app/task/tasks/db_log/tasks.py
  100. +27 −0 backend/app/task/tasks/tasks.py
  101. 0 backend/{plugin/casbin/api → app/task/utils}/__init__.py
  102. +497 −0 backend/app/task/utils/schedulers.py
  103. +73 −0 backend/app/task/utils/tzcrontab.py
  104. +3 −3 backend/celery-start.sh
  105. +240 −0 backend/cli.py
  106. +18 −7 backend/common/dataclasses.py
  107. +34 −2 backend/common/enums.py
  108. +10 −1 backend/common/exception/errors.py
  109. +2 −2 backend/common/exception/exception_handler.py
  110. +42 −17 backend/common/log.py
  111. +28 −2 backend/common/model.py
  112. +3 −3 backend/common/pagination.py
  113. +29 −0 backend/common/queue.py
  114. +0 −13 backend/common/response/response_code.py
  115. +1 −1 backend/common/response/response_schema.py
  116. +6 −2 backend/common/schema.py
  117. +78 −42 backend/common/security/jwt.py
  118. +59 −41 backend/common/security/permission.py
  119. +18 −11 backend/common/security/rbac.py
  120. +1 −0 backend/common/socketio/__init__.py
  121. +4 −14 backend/common/socketio/server.py
  122. +108 −46 backend/core/conf.py
  123. +19 −20 backend/core/registrar.py
  124. +5 −1 backend/database/db.py
  125. +1 −3 backend/database/redis.py
  126. +24 −0 backend/main.py
  127. +24 −6 backend/middleware/access_middleware.py
  128. +6 −2 backend/middleware/jwt_auth_middleware.py
  129. +147 −134 backend/middleware/opera_log_middleware.py
  130. +3 −4 backend/middleware/state_middleware.py
  131. +0 −91 backend/plugin/casbin/api/v1/sys/api.py
  132. +0 −218 backend/plugin/casbin/api/v1/sys/casbin.py
  133. +0 −26 backend/plugin/casbin/conf.py
  134. +0 −99 backend/plugin/casbin/crud/crud_api.py
  135. +0 −51 backend/plugin/casbin/crud/crud_casbin.py
  136. +0 −4 backend/plugin/casbin/model/__init__.py
  137. +0 −20 backend/plugin/casbin/model/api.py
  138. +0 −34 backend/plugin/casbin/model/casbin_rule.py
  139. +0 −10 backend/plugin/casbin/plugin.toml
  140. +0 −2 backend/plugin/casbin/requirements.txt
  141. +0 −35 backend/plugin/casbin/schema/api.py
  142. +0 −65 backend/plugin/casbin/schema/casbin_rule.py
  143. +0 −95 backend/plugin/casbin/service/api_service.py
  144. +0 −232 backend/plugin/casbin/service/casbin_service.py
  145. +0 −58 backend/plugin/casbin/utils/rbac.py
  146. +1 −1 backend/plugin/code_generator/README.md
  147. +5 −5 backend/plugin/code_generator/api/router.py
  148. +29 −10 backend/plugin/code_generator/api/v1/business.py
  149. +13 −13 backend/plugin/code_generator/api/v1/{gen.py → code.py}
  150. +20 −20 backend/plugin/code_generator/api/v1/column.py
  151. +0 −21 backend/plugin/code_generator/conf.py
  152. +16 −1 backend/plugin/code_generator/crud/crud_business.py
  153. +20 −16 backend/plugin/code_generator/crud/{crud_gen.py → crud_code.py}
  154. +13 −13 backend/plugin/code_generator/crud/crud_column.py
  155. +2 −2 backend/plugin/code_generator/enums.py
  156. +6 −6 backend/plugin/code_generator/model/business.py
  157. +3 −3 backend/plugin/code_generator/model/column.py
  158. +6 −0 backend/plugin/code_generator/plugin.toml
  159. +6 −6 backend/plugin/code_generator/schema/business.py
  160. 0 backend/plugin/code_generator/schema/{gen.py → code.py}
  161. +7 −7 backend/plugin/code_generator/schema/column.py
  162. +14 −2 backend/plugin/code_generator/service/business_service.py
  163. +38 −23 backend/plugin/code_generator/service/{gen_service.py → code_service.py}
  164. +36 −36 backend/plugin/code_generator/service/column_service.py
  165. +24 −19 backend/plugin/code_generator/templates/python/api.jinja
  166. +20 −20 backend/plugin/code_generator/templates/python/crud.jinja
  167. +3 −3 backend/plugin/code_generator/templates/python/model.jinja
  168. +11 −5 backend/plugin/code_generator/templates/python/schema.jinja
  169. +29 −29 backend/plugin/code_generator/templates/python/service.jinja
  170. +5 −5 backend/plugin/code_generator/utils/{gen_template.py → code_template.py}
  171. +5 −5 backend/plugin/code_generator/utils/type_conversion.py
  172. +3 −0 backend/plugin/config/README.md
  173. +6 −64 backend/plugin/config/api/v1/sys/config.py
  174. +0 −21 backend/plugin/config/conf.py
  175. +12 −24 backend/plugin/config/crud/crud_config.py
  176. +7 −1 backend/plugin/config/plugin.toml
  177. +0 −8 backend/plugin/config/schema/config.py
  178. +7 −42 backend/plugin/config/service/config_service.py
  179. +3 −0 backend/plugin/dict/README.md
  180. +24 −14 backend/plugin/dict/api/v1/sys/dict_data.py
  181. +20 −7 backend/plugin/dict/api/v1/sys/dict_type.py
  182. +43 −24 backend/plugin/dict/crud/crud_dict_data.py
  183. +10 −15 backend/plugin/dict/crud/crud_dict_type.py
  184. +2 −1 backend/plugin/dict/model/dict_data.py
  185. +7 −1 backend/plugin/dict/plugin.toml
  186. +8 −8 backend/plugin/dict/schema/dict_data.py
  187. +7 −1 backend/plugin/dict/schema/dict_type.py
  188. +26 −12 backend/plugin/dict/service/dict_data_service.py
  189. +22 −7 backend/plugin/dict/service/dict_type_service.py
  190. +41 −0 backend/plugin/dict/sql/mysql/init.sql
  191. +41 −0 backend/plugin/dict/sql/mysql/init_snowflake.sql
  192. +45 −0 backend/plugin/dict/sql/postgresql/init.sql
  193. +41 −0 backend/plugin/dict/sql/postgresql/init_snowflake.sql
  194. +5 −0 backend/plugin/email/README.md
  195. 0 backend/plugin/{casbin/api/v1 → email}/__init__.py
  196. 0 backend/plugin/{casbin/api/v1/sys → email/api}/__init__.py
  197. +10 −0 backend/plugin/email/api/router.py
  198. 0 backend/plugin/{casbin/crud → email/api/v1}/__init__.py
  199. +34 −0 backend/plugin/email/api/v1/email.py
  200. +8 −0 backend/plugin/email/plugin.toml
  201. +1 −0 backend/plugin/email/requirements.txt
  202. +83 −0 backend/plugin/email/templates/captcha.html
  203. 0 backend/plugin/{casbin/schema → email/utils}/__init__.py
  204. +111 −0 backend/plugin/email/utils/send.py
  205. +3 −0 backend/plugin/notice/README.md
  206. +5 −5 backend/plugin/notice/api/v1/sys/notice.py
  207. +4 −4 backend/plugin/notice/crud/crud_notice.py
  208. +7 −1 backend/plugin/notice/plugin.toml
  209. +7 −1 backend/plugin/notice/schema/notice.py
  210. +5 −5 backend/plugin/notice/service/notice_service.py
  211. +3 −0 backend/plugin/oauth2/README.md
  212. 0 backend/plugin/{casbin/service → oauth2}/__init__.py
  213. 0 backend/plugin/{casbin/utils → oauth2/api}/__init__.py
  214. +12 −0 backend/plugin/oauth2/api/router.py
  215. +2 −0 backend/plugin/oauth2/api/v1/__init__.py
  216. +9 −7 backend/{app/admin/api/v1/oauth2 → plugin/oauth2/api/v1}/github.py
  217. +10 −8 backend/{app/admin/api/v1/oauth2 → plugin/oauth2/api/v1}/linux_do.py
  218. +2 −0 backend/plugin/oauth2/crud/__init__.py
  219. +15 −5 backend/{app/admin → plugin/oauth2}/crud/crud_user_social.py
  220. +3 −0 backend/plugin/oauth2/model/__init__.py
  221. +29 −0 backend/plugin/oauth2/model/user_social.py
  222. +8 −0 backend/plugin/oauth2/plugin.toml
  223. +1 −0 backend/plugin/oauth2/requirements.txt
  224. +2 −0 backend/plugin/oauth2/schema/__init__.py
  225. +1 −5 backend/{app/admin → plugin/oauth2}/schema/user_social.py
  226. +2 −0 backend/plugin/oauth2/service/__init__.py
  227. +56 −42 backend/{app/admin → plugin/oauth2}/service/oauth2_service.py
  228. +231 −61 backend/plugin/tools.py
  229. +0 −2 backend/pre_start.sh
  230. +17 −4 backend/run.py
  231. +0 −16 backend/scripts/init_data.py
  232. +0 −16 backend/scripts/init_plugin.py
  233. +0 −451 backend/sql/mysql/create_tables.sql
  234. +119 −0 backend/sql/mysql/init_snowflake_test_data.sql
  235. +112 −35 backend/sql/mysql/init_test_data.sql
  236. +0 −856 backend/sql/postgresql/create_tables.sql
  237. +119 −0 backend/sql/postgresql/init_snowflake_test_data.sql
  238. +123 −35 backend/sql/postgresql/init_test_data.sql
  239. +0 −92 backend/static/ws.html
  240. +75 −0 backend/utils/_await.py
  241. +22 −10 backend/utils/build_tree.py
  242. +5 −0 backend/utils/console.py
  243. +123 −12 backend/utils/file_ops.py
  244. +41 −1 backend/utils/health_check.py
  245. +25 −11 backend/utils/re_verify.py
  246. +61 −44 backend/utils/server_info.py
  247. +129 −0 backend/utils/snowflake.py
  248. +18 −21 backend/utils/timezone.py
  249. +1 −1 backend/utils/trace_id.py
  250. +4 −5 deploy/backend/docker-compose/.env.server
  251. +2 −2 deploy/backend/fastapi_server.conf
  252. +0 −44 deploy/backend/gunicorn.conf.py
  253. +1 −0 docker-compose.yml
  254. +36 −21 pyproject.toml
  255. +289 −55 requirements.txt
  256. +1,289 −685 uv.lock
8 changes: 4 additions & 4 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -2,13 +2,13 @@ repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v5.0.0
hooks:
- id: check-added-large-files
- id: end-of-file-fixer
# - id: check-added-large-files
# - id: end-of-file-fixer
- id: check-yaml
- id: check-toml

- repo: https://github.com/charliermarsh/ruff-pre-commit
rev: v0.11.2
rev: v0.11.9
hooks:
- id: ruff
args:
@@ -20,7 +20,7 @@ repos:
- id: ruff-format

- repo: https://github.com/astral-sh/uv-pre-commit
rev: 0.6.10
rev: 0.7.3
hooks:
- id: uv-lock
- id: uv-export
Loading