fastapi-startkit 0.30.0__tar.gz → 0.32.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 (355) hide show
  1. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/PKG-INFO +1 -1
  2. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/pyproject.toml +1 -1
  3. fastapi_startkit-0.32.0/src/fastapi_startkit/broadcasting/__init__.py +14 -0
  4. fastapi_startkit-0.32.0/src/fastapi_startkit/broadcasting/channels.py +16 -0
  5. fastapi_startkit-0.32.0/src/fastapi_startkit/broadcasting/config.py +24 -0
  6. fastapi_startkit-0.32.0/src/fastapi_startkit/broadcasting/drivers/__init__.py +4 -0
  7. fastapi_startkit-0.32.0/src/fastapi_startkit/broadcasting/drivers/log_driver.py +11 -0
  8. fastapi_startkit-0.32.0/src/fastapi_startkit/broadcasting/drivers/reverb_driver.py +7 -0
  9. fastapi_startkit-0.32.0/src/fastapi_startkit/broadcasting/event.py +14 -0
  10. fastapi_startkit-0.32.0/src/fastapi_startkit/broadcasting/helpers.py +7 -0
  11. fastapi_startkit-0.32.0/src/fastapi_startkit/broadcasting/manager.py +19 -0
  12. fastapi_startkit-0.32.0/src/fastapi_startkit/broadcasting/provider.py +21 -0
  13. fastapi_startkit-0.32.0/src/fastapi_startkit/broadcasting/reverb/__init__.py +5 -0
  14. fastapi_startkit-0.32.0/src/fastapi_startkit/broadcasting/reverb/channel_manager.py +17 -0
  15. fastapi_startkit-0.32.0/src/fastapi_startkit/broadcasting/reverb/connection.py +21 -0
  16. fastapi_startkit-0.32.0/src/fastapi_startkit/broadcasting/reverb/server.py +59 -0
  17. fastapi_startkit-0.32.0/src/fastapi_startkit/facades/Broadcast.pyi +15 -0
  18. fastapi_startkit-0.32.0/src/fastapi_startkit/jsonapi/__init__.py +15 -0
  19. fastapi_startkit-0.32.0/src/fastapi_startkit/jsonapi/response.py +444 -0
  20. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/migrations/Migrator.py +4 -0
  21. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/models/builder.py +6 -4
  22. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/schema/platforms/SQLitePlatform.py +23 -2
  23. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/.DS_Store +0 -0
  24. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/__init__.py +0 -0
  25. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/application.py +0 -0
  26. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/carbon/__init__.py +0 -0
  27. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/carbon/carbon.py +0 -0
  28. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/config/__init__.py +0 -0
  29. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/config/app.py +0 -0
  30. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/configuration/Configuration.py +0 -0
  31. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/configuration/__init__.py +0 -0
  32. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/configuration/config.py +0 -0
  33. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/configuration/helpers.py +0 -0
  34. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/configuration/providers/ConfigurationProvider.py +0 -0
  35. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/configuration/providers/__init__.py +0 -0
  36. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/console/__init__.py +0 -0
  37. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/console/application.py +0 -0
  38. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/console/can_override_config.py +0 -0
  39. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/console/can_override_default_options.py +0 -0
  40. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/console/command.py +0 -0
  41. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/console/publish_command.py +0 -0
  42. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/container/__init__.py +0 -0
  43. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/container/container.py +0 -0
  44. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/environment/__init__.py +0 -0
  45. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/environment/environment.py +0 -0
  46. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/exceptions/__init__.py +0 -0
  47. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/exceptions/exceptions.py +0 -0
  48. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/exceptions/handler.py +0 -0
  49. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/facades/Broadcast.py +0 -0
  50. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/facades/Cache.py +0 -0
  51. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/facades/Config.py +0 -0
  52. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/facades/Config.pyi +0 -0
  53. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/facades/Dump.py +0 -0
  54. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/facades/Dump.pyi +0 -0
  55. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/facades/Facade.py +0 -0
  56. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/facades/Gate.py +0 -0
  57. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/facades/Gate.pyi +0 -0
  58. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/facades/Hash.py +0 -0
  59. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/facades/Hash.pyi +0 -0
  60. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/facades/Loader.py +0 -0
  61. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/facades/Loader.pyi +0 -0
  62. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/facades/Mail.py +0 -0
  63. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/facades/Mail.pyi +0 -0
  64. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/facades/Notification.py +0 -0
  65. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/facades/Notification.pyi +0 -0
  66. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/facades/Queue.py +0 -0
  67. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/facades/Queue.pyi +0 -0
  68. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/facades/RateLimiter.py +0 -0
  69. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/facades/RateLimiter.pyi +0 -0
  70. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/facades/Request.py +0 -0
  71. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/facades/Request.pyi +0 -0
  72. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/facades/Response.py +0 -0
  73. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/facades/Response.pyi +0 -0
  74. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/facades/Session.py +0 -0
  75. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/facades/Session.pyi +0 -0
  76. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/facades/Url.py +0 -0
  77. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/facades/Url.pyi +0 -0
  78. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/facades/View.py +0 -0
  79. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/facades/View.pyi +0 -0
  80. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/facades/Vite.py +0 -0
  81. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/facades/Vite.pyi +0 -0
  82. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/facades/__init__.py +0 -0
  83. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/fastapi/__init__.py +0 -0
  84. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/fastapi/commands/__init__.py +0 -0
  85. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/fastapi/commands/serve_command.py +0 -0
  86. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/fastapi/config/__init__.py +0 -0
  87. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/fastapi/config/fastapi.py +0 -0
  88. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/fastapi/exceptions.py +0 -0
  89. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/fastapi/providers/fastapi_provider.py +0 -0
  90. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/fastapi/requests/model.py +0 -0
  91. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/fastapi/routers/router.py +0 -0
  92. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/fastapi/testing/__init__.py +0 -0
  93. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/fastapi/testing/test_case.py +0 -0
  94. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/helpers/app.py +0 -0
  95. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/helpers/dataclass.py +0 -0
  96. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/inertia/__init__.py +0 -0
  97. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/inertia/constant.py +0 -0
  98. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/inertia/context.py +0 -0
  99. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/inertia/inertia.py +0 -0
  100. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/inertia/middleware.py +0 -0
  101. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/inertia/props/props.py +0 -0
  102. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/inertia/provider.py +0 -0
  103. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/loader/Loader.py +0 -0
  104. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/loader/__init__.py +0 -0
  105. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/logging/ChannelFactory.py +0 -0
  106. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/logging/__init__.py +0 -0
  107. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/logging/channels/BaseChannel.py +0 -0
  108. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/logging/channels/DailyChannel.py +0 -0
  109. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/logging/channels/MultiBaseChannel.py +0 -0
  110. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/logging/channels/SingleChannel.py +0 -0
  111. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/logging/channels/SlackChannel.py +0 -0
  112. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/logging/channels/StackChannel.py +0 -0
  113. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/logging/channels/SyslogChannel.py +0 -0
  114. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/logging/channels/TerminalChannel.py +0 -0
  115. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/logging/channels/__init__.py +0 -0
  116. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/logging/config/__init__.py +0 -0
  117. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/logging/config/channels.py +0 -0
  118. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/logging/config/logging.py +0 -0
  119. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/logging/drivers/BaseDriver.py +0 -0
  120. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/logging/drivers/LogSingleDriver.py +0 -0
  121. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/logging/drivers/LogSlackDriver.py +0 -0
  122. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/logging/drivers/LogSyslogDriver.py +0 -0
  123. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/logging/drivers/LogTerminalDriver.py +0 -0
  124. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/logging/drivers/__init__.py +0 -0
  125. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/logging/factory.py +0 -0
  126. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/logging/file.py +0 -0
  127. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/logging/handler.py +0 -0
  128. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/logging/listeners.py +0 -0
  129. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/logging/logger.py +0 -0
  130. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/logging/managers/LoggingManager.py +0 -0
  131. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/logging/managers/__init__.py +0 -0
  132. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/logging/providers/__init__.py +0 -0
  133. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/logging/providers/log_provider.py +0 -0
  134. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/__init__.py +0 -0
  135. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/collection/Collection.py +0 -0
  136. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/collection/__init__.py +0 -0
  137. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/commands/DBMigrateCommand.py +0 -0
  138. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/commands/DBSeedCommand.py +0 -0
  139. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/commands/MakeMigrationCommand.py +0 -0
  140. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/commands/MakeModelCommand.py +0 -0
  141. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/commands/MakeModelDocstringCommand.py +0 -0
  142. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/commands/MakeObserverCommand.py +0 -0
  143. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/commands/MakeSeedCommand.py +0 -0
  144. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/commands/MigrateFreshCommand.py +0 -0
  145. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/commands/MigrateRefreshCommand.py +0 -0
  146. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/commands/MigrateResetCommand.py +0 -0
  147. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/commands/MigrateRollbackCommand.py +0 -0
  148. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/commands/MigrateStatusCommand.py +0 -0
  149. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/commands/ShellCommand.py +0 -0
  150. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/commands/__init__.py +0 -0
  151. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/commands/stubs/create_migration.stub +0 -0
  152. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/commands/stubs/create_seed.stub +0 -0
  153. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/commands/stubs/model.stub +0 -0
  154. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/commands/stubs/observer.stub +0 -0
  155. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/commands/stubs/table_migration.stub +0 -0
  156. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/config/__init__.py +0 -0
  157. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/config/config.py +0 -0
  158. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/config/database.py +0 -0
  159. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/connections/connection.py +0 -0
  160. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/connections/factory.py +0 -0
  161. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/connections/manager.py +0 -0
  162. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/connections/mysql_connection.py +0 -0
  163. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/connections/postgres_connection.py +0 -0
  164. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/connections/sqlite_connection.py +0 -0
  165. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/exceptions.py +0 -0
  166. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/expressions/__init__.py +0 -0
  167. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/expressions/expressions.py +0 -0
  168. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/facades/DB.py +0 -0
  169. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/facades/Schema.py +0 -0
  170. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/facades/__init__.py +0 -0
  171. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/factory/__init__.py +0 -0
  172. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/factory/factory.py +0 -0
  173. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/helpers/__init__.py +0 -0
  174. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/helpers/misc.py +0 -0
  175. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/migrations/Migration.py +0 -0
  176. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/migrations/__init__.py +0 -0
  177. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/models/MigrationModel.py +0 -0
  178. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/models/__init__.py +0 -0
  179. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/models/attribute.py +0 -0
  180. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/models/caster.py +0 -0
  181. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/models/fields.py +0 -0
  182. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/models/model.py +0 -0
  183. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/models/observer.py +0 -0
  184. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/models/pivot.py +0 -0
  185. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/models/registry.py +0 -0
  186. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/models/relationship.py +0 -0
  187. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/observers/ObservesEvents.py +0 -0
  188. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/observers/__init__.py +0 -0
  189. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/pagination/BasePaginator.py +0 -0
  190. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/pagination/LengthAwarePaginator.py +0 -0
  191. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/pagination/SimplePaginator.py +0 -0
  192. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/pagination/__init__.py +0 -0
  193. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/providers/DatabaseProvider.py +0 -0
  194. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/providers/__init__.py +0 -0
  195. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/query/EagerLoadMixin.py +0 -0
  196. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/query/EagerRelation.py +0 -0
  197. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/query/__init__.py +0 -0
  198. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/query/grammars/BaseGrammar.py +0 -0
  199. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/query/grammars/MSSQLGrammar.py +0 -0
  200. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/query/grammars/MySQLGrammar.py +0 -0
  201. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/query/grammars/PostgresGrammar.py +0 -0
  202. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/query/grammars/SQLiteGrammar.py +0 -0
  203. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/query/grammars/__init__.py +0 -0
  204. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/query/processors/MSSQLPostProcessor.py +0 -0
  205. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/query/processors/MySQLPostProcessor.py +0 -0
  206. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/query/processors/PostgresPostProcessor.py +0 -0
  207. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/query/processors/SQLitePostProcessor.py +0 -0
  208. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/query/processors/__init__.py +0 -0
  209. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/query/support.py +0 -0
  210. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/relationships/BaseRelationship.py +0 -0
  211. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/relationships/BelongsTo.py +0 -0
  212. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/relationships/BelongsToMany.py +0 -0
  213. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/relationships/HasMany.py +0 -0
  214. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/relationships/HasManyThrough.py +0 -0
  215. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/relationships/HasOne.py +0 -0
  216. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/relationships/HasOneThrough.py +0 -0
  217. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/relationships/MorphMany.py +0 -0
  218. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/relationships/MorphOne.py +0 -0
  219. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/relationships/MorphTo.py +0 -0
  220. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/relationships/MorphToMany.py +0 -0
  221. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/relationships/__init__.py +0 -0
  222. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/schema/Blueprint.py +0 -0
  223. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/schema/Column.py +0 -0
  224. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/schema/ColumnDiff.py +0 -0
  225. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/schema/Constraint.py +0 -0
  226. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/schema/ForeignKeyConstraint.py +0 -0
  227. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/schema/Index.py +0 -0
  228. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/schema/Table.py +0 -0
  229. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/schema/TableDiff.py +0 -0
  230. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/schema/__init__.py +0 -0
  231. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/schema/platforms/MSSQLPlatform.py +0 -0
  232. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/schema/platforms/MySQLPlatform.py +0 -0
  233. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/schema/platforms/Platform.py +0 -0
  234. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/schema/platforms/PostgresPlatform.py +0 -0
  235. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/schema/platforms/__init__.py +0 -0
  236. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/schema/schema.py +0 -0
  237. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/seeds/Seeder.py +0 -0
  238. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/seeds/__init__.py +0 -0
  239. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/stubs/create-migration.html +0 -0
  240. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/stubs/table-migration.html +0 -0
  241. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/testing/__init__.py +0 -0
  242. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm/testing/transaction.py +0 -0
  243. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm.backup/.pytest_cache/.gitignore +0 -0
  244. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm.backup/.pytest_cache/CACHEDIR.TAG +0 -0
  245. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm.backup/.pytest_cache/README.md +0 -0
  246. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm.backup/.pytest_cache/v/cache/lastfailed +0 -0
  247. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm.backup/.pytest_cache/v/cache/nodeids +0 -0
  248. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm.backup/__init__.py +0 -0
  249. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm.backup/config/database.py +0 -0
  250. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm.backup/config.py +0 -0
  251. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm.backup/exceptions.py +0 -0
  252. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm.backup/factories/Factory.py +0 -0
  253. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm.backup/factories/__init__.py +0 -0
  254. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm.backup/schema/Schema.py +0 -0
  255. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm.backup/scopes/BaseScope.py +0 -0
  256. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm.backup/scopes/SoftDeleteScope.py +0 -0
  257. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm.backup/scopes/SoftDeletesMixin.py +0 -0
  258. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm.backup/scopes/UUIDPrimaryKeyMixin.py +0 -0
  259. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm.backup/scopes/UUIDPrimaryKeyScope.py +0 -0
  260. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm.backup/scopes/__init__.py +0 -0
  261. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm.backup/scopes/scope.py +0 -0
  262. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm.backup/testing/BaseTestCaseSelectGrammar.py +0 -0
  263. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm.backup/testing/Database.py +0 -0
  264. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm.backup/testing/TestCase.py +0 -0
  265. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm.backup/testing/__init__.py +0 -0
  266. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm.backup/tests/User.py +0 -0
  267. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm.backup/tests/connections/test_base_connections.py +0 -0
  268. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm.backup/tests/eagers/test_eager.py +0 -0
  269. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm.backup/tests/models/test_models.py +0 -0
  270. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm.backup/tests/mssql/builder/test_mssql_query_builder.py +0 -0
  271. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm.backup/tests/mssql/builder/test_mssql_query_builder_relationships.py +0 -0
  272. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm.backup/tests/mssql/grammar/test_mssql_delete_grammar.py +0 -0
  273. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm.backup/tests/mssql/grammar/test_mssql_insert_grammar.py +0 -0
  274. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm.backup/tests/mssql/grammar/test_mssql_qmark.py +0 -0
  275. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm.backup/tests/mssql/grammar/test_mssql_select_grammar.py +0 -0
  276. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm.backup/tests/mssql/grammar/test_mssql_update_grammar.py +0 -0
  277. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm.backup/tests/mssql/schema/test_mssql_schema_builder.py +0 -0
  278. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm.backup/tests/mssql/schema/test_mssql_schema_builder_alter.py +0 -0
  279. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm.backup/tests/mysql/builder/test_mysql_builder_transaction.py +0 -0
  280. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm.backup/tests/mysql/builder/test_query_builder.py +0 -0
  281. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm.backup/tests/mysql/builder/test_query_builder_scopes.py +0 -0
  282. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm.backup/tests/mysql/builder/test_transactions.py +0 -0
  283. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm.backup/tests/mysql/connections/test_mysql_connection_selects.py +0 -0
  284. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm.backup/tests/mysql/grammar/test_mysql_delete_grammar.py +0 -0
  285. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm.backup/tests/mysql/grammar/test_mysql_insert_grammar.py +0 -0
  286. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm.backup/tests/mysql/grammar/test_mysql_qmark.py +0 -0
  287. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm.backup/tests/mysql/grammar/test_mysql_select_grammar.py +0 -0
  288. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm.backup/tests/mysql/grammar/test_mysql_update_grammar.py +0 -0
  289. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm.backup/tests/mysql/model/test_accessors_and_mutators.py +0 -0
  290. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm.backup/tests/mysql/model/test_model.py +0 -0
  291. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm.backup/tests/mysql/relationships/test_belongs_to_many.py +0 -0
  292. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm.backup/tests/mysql/relationships/test_has_many_through.py +0 -0
  293. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm.backup/tests/mysql/relationships/test_has_one_through.py +0 -0
  294. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm.backup/tests/mysql/relationships/test_relationships.py +0 -0
  295. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm.backup/tests/mysql/schema/test_mysql_schema_builder.py +0 -0
  296. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm.backup/tests/mysql/schema/test_mysql_schema_builder_alter.py +0 -0
  297. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm.backup/tests/mysql/scopes/test_can_use_global_scopes.py +0 -0
  298. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm.backup/tests/mysql/scopes/test_can_use_scopes.py +0 -0
  299. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm.backup/tests/mysql/scopes/test_soft_delete.py +0 -0
  300. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm.backup/tests/postgres/builder/test_postgres_query_builder.py +0 -0
  301. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm.backup/tests/postgres/builder/test_postgres_transaction.py +0 -0
  302. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm.backup/tests/postgres/grammar/test_delete_grammar.py +0 -0
  303. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm.backup/tests/postgres/grammar/test_insert_grammar.py +0 -0
  304. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm.backup/tests/postgres/grammar/test_select_grammar.py +0 -0
  305. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm.backup/tests/postgres/grammar/test_update_grammar.py +0 -0
  306. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm.backup/tests/postgres/relationships/test_postgres_relationships.py +0 -0
  307. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm.backup/tests/postgres/schema/test_postgres_schema_builder.py +0 -0
  308. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm.backup/tests/postgres/schema/test_postgres_schema_builder_alter.py +0 -0
  309. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm.backup/tests/scopes/test_default_global_scopes.py +0 -0
  310. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm.backup/tests/seeds/test_seeds.py +0 -0
  311. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/masoniteorm.backup/tests/utils.py +0 -0
  312. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/mcp/__init__.py +0 -0
  313. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/mcp/argument.py +0 -0
  314. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/mcp/prompt.py +0 -0
  315. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/mcp/protocol.py +0 -0
  316. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/mcp/providers/__init__.py +0 -0
  317. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/mcp/providers/mcp_provider.py +0 -0
  318. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/mcp/request.py +0 -0
  319. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/mcp/resource.py +0 -0
  320. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/mcp/response.py +0 -0
  321. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/mcp/server.py +0 -0
  322. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/mcp/tool.py +0 -0
  323. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/providers/Provider.py +0 -0
  324. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/providers/__init__.py +0 -0
  325. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/providers/app_provider.py +0 -0
  326. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/storage/__init__.py +0 -0
  327. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/storage/config/__init__.py +0 -0
  328. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/storage/config/storage.py +0 -0
  329. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/storage/data/mime.types +0 -0
  330. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/storage/drivers/__init__.py +0 -0
  331. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/storage/drivers/fake.py +0 -0
  332. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/storage/drivers/local.py +0 -0
  333. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/storage/drivers/s3.py +0 -0
  334. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/storage/file.py +0 -0
  335. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/storage/filestream.py +0 -0
  336. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/storage/helper.py +0 -0
  337. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/storage/providers/provider.py +0 -0
  338. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/storage/storage.py +0 -0
  339. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/support/__init__.py +0 -0
  340. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/support/collection.py +0 -0
  341. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/support/string.py +0 -0
  342. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/testing/__init__.py +0 -0
  343. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/testing/test_case.py +0 -0
  344. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/utils/structures.py +0 -0
  345. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/vite/__init__.py +0 -0
  346. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/vite/config/vite.py +0 -0
  347. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/vite/exceptions.py +0 -0
  348. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/vite/providers/provider.py +0 -0
  349. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/vite/stubs/package.json +0 -0
  350. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/vite/stubs/resources/css/app.css +0 -0
  351. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/vite/stubs/resources/js/app.ts +0 -0
  352. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/vite/stubs/templates/index.html +0 -0
  353. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/vite/stubs/tsconfig.json +0 -0
  354. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/vite/stubs/vite.config.ts +0 -0
  355. {fastapi_startkit-0.30.0 → fastapi_startkit-0.32.0}/src/fastapi_startkit/vite/vite.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: fastapi-startkit
3
- Version: 0.30.0
3
+ Version: 0.32.0
4
4
  Summary: Fastapi Starter kit components
5
5
  Author: Bedram Tamang
6
6
  Author-email: Bedram Tamang <tmgbedu@gmail.com>
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "fastapi-startkit"
3
- version = "0.30.0"
3
+ version = "0.32.0"
4
4
  description = "Fastapi Starter kit components"
5
5
  authors = [
6
6
  {name = "Bedram Tamang", email = "tmgbedu@gmail.com"}
@@ -0,0 +1,14 @@
1
+ from .channels import Channel, PrivateChannel, PresenceChannel
2
+ from .event import BroadcastEvent, ShouldBroadcast
3
+ from .provider import ReverbProvider
4
+ from .helpers import broadcast
5
+
6
+ __all__ = [
7
+ "Channel",
8
+ "PrivateChannel",
9
+ "PresenceChannel",
10
+ "BroadcastEvent",
11
+ "ShouldBroadcast",
12
+ "ReverbProvider",
13
+ "broadcast",
14
+ ]
@@ -0,0 +1,16 @@
1
+ class Channel:
2
+ def __init__(self, name: str):
3
+ self.name = name
4
+
5
+ def __repr__(self) -> str:
6
+ return f"{self.__class__.__name__}({self.name!r})"
7
+
8
+
9
+ class PrivateChannel(Channel):
10
+ def __init__(self, name: str):
11
+ super().__init__(f"private-{name}")
12
+
13
+
14
+ class PresenceChannel(Channel):
15
+ def __init__(self, name: str):
16
+ super().__init__(f"presence-{name}")
@@ -0,0 +1,24 @@
1
+ from dataclasses import dataclass, field
2
+ from fastapi_startkit.environment import env
3
+
4
+
5
+ @dataclass
6
+ class BroadcastingConfig:
7
+ default: str = field(default_factory=lambda: env("BROADCAST_DRIVER", "log"))
8
+
9
+ connections: dict = field(
10
+ default_factory=lambda: {
11
+ "reverb": {
12
+ "driver": "reverb",
13
+ "key": env("REVERB_APP_KEY", "local"),
14
+ "secret": env("REVERB_APP_SECRET", "secret"),
15
+ "app_id": env("REVERB_APP_ID", "1"),
16
+ "host": env("REVERB_HOST", "0.0.0.0"),
17
+ "port": int(env("REVERB_PORT", 8080)),
18
+ "scheme": env("REVERB_SCHEME", "http"),
19
+ },
20
+ "log": {
21
+ "driver": "log",
22
+ },
23
+ }
24
+ )
@@ -0,0 +1,4 @@
1
+ from .log_driver import LogDriver
2
+ from .reverb_driver import ReverbDriver
3
+
4
+ __all__ = ["LogDriver", "ReverbDriver"]
@@ -0,0 +1,11 @@
1
+ import logging
2
+
3
+ logger = logging.getLogger("reverb")
4
+
5
+
6
+ class LogDriver:
7
+ async def broadcast(self, event) -> None:
8
+ for channel in event.broadcast_on():
9
+ logger.info(
10
+ f"[Broadcast] channel={channel.name} event={event.broadcast_as()} data={event.broadcast_with()}"
11
+ )
@@ -0,0 +1,7 @@
1
+ class ReverbDriver:
2
+ def __init__(self, server):
3
+ self.server = server
4
+
5
+ async def broadcast(self, event) -> None:
6
+ for channel in event.broadcast_on():
7
+ await self.server.broadcast_to_channel(channel.name, event.broadcast_as(), event.broadcast_with())
@@ -0,0 +1,14 @@
1
+ from abc import ABC, abstractmethod
2
+
3
+
4
+ class ShouldBroadcast(ABC):
5
+ @abstractmethod
6
+ def broadcast_on(self) -> list: ...
7
+
8
+
9
+ class BroadcastEvent(ShouldBroadcast):
10
+ def broadcast_as(self) -> str:
11
+ return self.__class__.__name__
12
+
13
+ def broadcast_with(self) -> dict:
14
+ return {k: v for k, v in self.__dict__.items()}
@@ -0,0 +1,7 @@
1
+ from ..application import app
2
+
3
+
4
+ async def broadcast(event) -> None:
5
+ """Broadcast an event using the default driver."""
6
+ manager = app().make("broadcasting")
7
+ await manager.event(event)
@@ -0,0 +1,19 @@
1
+ class BroadcastManager:
2
+ def __init__(self, config, server=None):
3
+ self._config = config
4
+ self._server = server
5
+
6
+ def driver(self, name=None):
7
+ name = name or self._config.get("default", "log")
8
+ if name == "log":
9
+ from .drivers.log_driver import LogDriver
10
+
11
+ return LogDriver()
12
+ elif name == "reverb":
13
+ from .drivers.reverb_driver import ReverbDriver
14
+
15
+ return ReverbDriver(self._server)
16
+ raise ValueError(f"Unknown broadcast driver: {name}")
17
+
18
+ async def event(self, broadcast_event) -> None:
19
+ await self.driver().broadcast(broadcast_event)
@@ -0,0 +1,21 @@
1
+ from ..providers import Provider
2
+ from .manager import BroadcastManager
3
+ from .config import BroadcastingConfig
4
+ from .reverb.server import ReverbServer
5
+
6
+
7
+ class ReverbProvider(Provider):
8
+ provider_key = "broadcasting"
9
+
10
+ def register(self) -> None:
11
+ config_data = self.resolve_config(BroadcastingConfig)
12
+ self.merge_config_from(config_data, "broadcasting")
13
+
14
+ server = ReverbServer()
15
+ manager = BroadcastManager(config_data, server)
16
+
17
+ self.app.bind("broadcasting", manager)
18
+ self.app.bind("reverb.server", server)
19
+
20
+ def boot(self) -> None:
21
+ pass
@@ -0,0 +1,5 @@
1
+ from .server import ReverbServer
2
+ from .connection import ConnectionManager
3
+ from .channel_manager import ChannelManager
4
+
5
+ __all__ = ["ReverbServer", "ConnectionManager", "ChannelManager"]
@@ -0,0 +1,17 @@
1
+ class ChannelManager:
2
+ def __init__(self):
3
+ self._subscriptions: dict[str, set] = {}
4
+
5
+ def subscribe(self, channel: str, socket_id: str) -> None:
6
+ self._subscriptions.setdefault(channel, set()).add(socket_id)
7
+
8
+ def unsubscribe(self, channel: str, socket_id: str) -> None:
9
+ if channel in self._subscriptions:
10
+ self._subscriptions[channel].discard(socket_id)
11
+
12
+ def remove_socket(self, socket_id: str) -> None:
13
+ for subs in self._subscriptions.values():
14
+ subs.discard(socket_id)
15
+
16
+ def subscribers(self, channel: str) -> set:
17
+ return set(self._subscriptions.get(channel, set()))
@@ -0,0 +1,21 @@
1
+ import uuid
2
+ from starlette.websockets import WebSocket
3
+
4
+
5
+ class ConnectionManager:
6
+ def __init__(self):
7
+ self._connections: dict[str, WebSocket] = {}
8
+
9
+ def add(self, websocket: WebSocket) -> str:
10
+ socket_id = str(uuid.uuid4())
11
+ self._connections[socket_id] = websocket
12
+ return socket_id
13
+
14
+ def remove(self, socket_id: str) -> None:
15
+ self._connections.pop(socket_id, None)
16
+
17
+ def get(self, socket_id: str):
18
+ return self._connections.get(socket_id)
19
+
20
+ def all(self) -> dict:
21
+ return dict(self._connections)
@@ -0,0 +1,59 @@
1
+ import json
2
+ from starlette.websockets import WebSocket, WebSocketDisconnect
3
+ from starlette.routing import WebSocketRoute
4
+ from starlette.applications import Starlette
5
+ from .connection import ConnectionManager
6
+ from .channel_manager import ChannelManager
7
+
8
+
9
+ class ReverbServer:
10
+ def __init__(self):
11
+ self.connections = ConnectionManager()
12
+ self.channels = ChannelManager()
13
+
14
+ async def handle(self, websocket: WebSocket):
15
+ await websocket.accept()
16
+ socket_id = self.connections.add(websocket)
17
+ await websocket.send_text(
18
+ json.dumps(
19
+ {
20
+ "event": "pusher:connection_established",
21
+ "data": json.dumps({"socket_id": socket_id, "activity_timeout": 120}),
22
+ }
23
+ )
24
+ )
25
+ try:
26
+ while True:
27
+ data = await websocket.receive_text()
28
+ message = json.loads(data)
29
+ await self._handle_message(socket_id, websocket, message)
30
+ except WebSocketDisconnect:
31
+ self.connections.remove(socket_id)
32
+ self.channels.remove_socket(socket_id)
33
+
34
+ async def _handle_message(self, socket_id: str, websocket: WebSocket, message: dict):
35
+ event = message.get("event", "")
36
+ if event == "pusher:ping":
37
+ await websocket.send_text(json.dumps({"event": "pusher:pong", "data": {}}))
38
+ elif event == "pusher:subscribe":
39
+ channel = message.get("data", {}).get("channel", "")
40
+ self.channels.subscribe(channel, socket_id)
41
+ await websocket.send_text(
42
+ json.dumps({"event": "pusher_internal:subscription_succeeded", "channel": channel, "data": {}})
43
+ )
44
+
45
+ async def broadcast_to_channel(self, channel_name: str, event_name: str, data: dict):
46
+ payload = json.dumps({"event": event_name, "channel": channel_name, "data": data})
47
+ for socket_id in self.channels.subscribers(channel_name):
48
+ ws = self.connections.get(socket_id)
49
+ if ws:
50
+ try:
51
+ await ws.send_text(payload)
52
+ except Exception:
53
+ pass
54
+
55
+ def as_starlette_app(self, app_key: str = "local") -> Starlette:
56
+ async def endpoint(ws: WebSocket):
57
+ await self.handle(ws)
58
+
59
+ return Starlette(routes=[WebSocketRoute(f"/app/{app_key}", endpoint)])
@@ -0,0 +1,15 @@
1
+ from fastapi_startkit.broadcasting.channels import Channel
2
+ from fastapi_startkit.broadcasting.event import BroadcastEvent
3
+
4
+ class Broadcast:
5
+ """Facade for broadcasting events over WebSocket channels."""
6
+
7
+ @staticmethod
8
+ async def event(event: BroadcastEvent) -> None:
9
+ """Broadcast an event to all its channels."""
10
+ ...
11
+
12
+ @staticmethod
13
+ def channel(name: str) -> Channel:
14
+ """Return a Channel instance for the given name."""
15
+ ...
@@ -0,0 +1,15 @@
1
+ """fastapi_startkit.jsonapi — JSON:API specification helpers."""
2
+
3
+ from .response import (
4
+ JsonAPIListResponse,
5
+ JsonAPIResponse,
6
+ parse_fields,
7
+ parse_include,
8
+ )
9
+
10
+ __all__ = [
11
+ "JsonAPIResponse",
12
+ "JsonAPIListResponse",
13
+ "parse_include",
14
+ "parse_fields",
15
+ ]