blokctl 1.3.0 → 1.4.1

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 (689) hide show
  1. package/dist/commands/create/project.js +15 -4
  2. package/dist/commands/create/utils/Examples.d.ts +1 -1
  3. package/dist/commands/create/utils/Examples.js +1 -1
  4. package/dist/commands/runtime/shared.js +4 -0
  5. package/dist/scaffold-repo/examples/ts-workflows/mcp-greeter.ts +59 -0
  6. package/dist/scaffold-repo/examples/ts-workflows/runtime-csharp-hello.ts +36 -0
  7. package/dist/scaffold-repo/examples/ts-workflows/runtime-go-hello.ts +36 -0
  8. package/dist/scaffold-repo/examples/ts-workflows/runtime-java-hello.ts +36 -0
  9. package/dist/scaffold-repo/examples/ts-workflows/runtime-php-hello.ts +36 -0
  10. package/dist/scaffold-repo/examples/ts-workflows/runtime-python3-hello.ts +36 -0
  11. package/dist/scaffold-repo/examples/ts-workflows/runtime-ruby-hello.ts +36 -0
  12. package/dist/scaffold-repo/examples/ts-workflows/runtime-rust-hello.ts +36 -0
  13. package/dist/scaffold-repo/infra/development/3055.dat +602 -0
  14. package/dist/scaffold-repo/infra/development/3057.dat +203 -0
  15. package/dist/scaffold-repo/infra/development/3059.dat +19 -0
  16. package/dist/scaffold-repo/infra/development/3061.dat +1003 -0
  17. package/dist/scaffold-repo/infra/development/3062.dat +5465 -0
  18. package/dist/scaffold-repo/infra/development/3063.dat +1003 -0
  19. package/dist/scaffold-repo/infra/development/3065.dat +606 -0
  20. package/dist/scaffold-repo/infra/development/3067.dat +603 -0
  21. package/dist/scaffold-repo/infra/development/3069.dat +112 -0
  22. package/dist/scaffold-repo/infra/development/3071.dat +4584 -0
  23. package/dist/scaffold-repo/infra/development/3073.dat +9 -0
  24. package/dist/scaffold-repo/infra/development/3075.dat +14599 -0
  25. package/dist/scaffold-repo/infra/development/3077.dat +16047 -0
  26. package/dist/scaffold-repo/infra/development/3079.dat +5 -0
  27. package/dist/scaffold-repo/infra/development/3081.dat +5 -0
  28. package/dist/scaffold-repo/infra/development/docker-compose.yml +106 -0
  29. package/dist/scaffold-repo/infra/development/schema.sql +1616 -0
  30. package/dist/scaffold-repo/infra/development/toc.dat +0 -0
  31. package/dist/scaffold-repo/infra/metrics/alertmanager.yml +43 -0
  32. package/dist/scaffold-repo/infra/metrics/alloy-config.alloy +75 -0
  33. package/dist/scaffold-repo/infra/metrics/dashboard.json +1152 -0
  34. package/dist/scaffold-repo/infra/metrics/dashboards/blok-overview.json +314 -0
  35. package/dist/scaffold-repo/infra/metrics/dashboards/blok-system.json +175 -0
  36. package/dist/scaffold-repo/infra/metrics/dashboards/blok-tracing.json +235 -0
  37. package/dist/scaffold-repo/infra/metrics/dashboards/blok-triggers.json +258 -0
  38. package/dist/scaffold-repo/infra/metrics/datasources.yml +43 -0
  39. package/dist/scaffold-repo/infra/metrics/default.yaml +8 -0
  40. package/dist/scaffold-repo/infra/metrics/docker-compose.yml +193 -0
  41. package/dist/scaffold-repo/infra/metrics/loki-config.yaml +50 -0
  42. package/dist/scaffold-repo/infra/metrics/nginx.conf +25 -0
  43. package/dist/scaffold-repo/infra/metrics/prometheus.yml +51 -0
  44. package/dist/scaffold-repo/infra/metrics/rules/blok-alerts.yml +114 -0
  45. package/dist/scaffold-repo/infra/metrics/telegraf.conf +41 -0
  46. package/dist/scaffold-repo/infra/metrics/tempo.yaml +81 -0
  47. package/dist/scaffold-repo/infra/milvus/docker-compose.yml +73 -0
  48. package/dist/scaffold-repo/sdk/javascript/README.md +151 -0
  49. package/dist/scaffold-repo/sdk/javascript/bootstrap.min.css +11660 -0
  50. package/dist/scaffold-repo/sdk/javascript/image-ai.html +316 -0
  51. package/dist/scaffold-repo/sdk/javascript/nanosdk.js +180 -0
  52. package/dist/scaffold-repo/sdk/javascript/nanosdk.min.js +100 -0
  53. package/dist/scaffold-repo/sdk/javascript/pdf.html +63 -0
  54. package/dist/scaffold-repo/sdk/javascript/test.html +68 -0
  55. package/dist/scaffold-repo/sdks/CLAUDE.md +67 -0
  56. package/dist/scaffold-repo/sdks/csharp/.dockerignore +7 -0
  57. package/dist/scaffold-repo/sdks/csharp/Blok.Core.sln +24 -0
  58. package/dist/scaffold-repo/sdks/csharp/Dockerfile +42 -0
  59. package/dist/scaffold-repo/sdks/csharp/README.md +138 -0
  60. package/dist/scaffold-repo/sdks/csharp/proto/blok/runtime/v1/runtime.proto +302 -0
  61. package/dist/scaffold-repo/sdks/csharp/src/Blok.Core/Blok.Core.csproj +39 -0
  62. package/dist/scaffold-repo/sdks/csharp/src/Blok.Core/Config/ServerConfig.cs +90 -0
  63. package/dist/scaffold-repo/sdks/csharp/src/Blok.Core/Errors/BlokError.cs +538 -0
  64. package/dist/scaffold-repo/sdks/csharp/src/Blok.Core/Errors/BlokErrorCategory.cs +112 -0
  65. package/dist/scaffold-repo/sdks/csharp/src/Blok.Core/Errors/BlokErrorSeverity.cs +40 -0
  66. package/dist/scaffold-repo/sdks/csharp/src/Blok.Core/Errors/BuildContextSnapshot.cs +168 -0
  67. package/dist/scaffold-repo/sdks/csharp/src/Blok.Core/Errors/ErrorCategory.cs +13 -0
  68. package/dist/scaffold-repo/sdks/csharp/src/Blok.Core/Errors/NodeException.cs +44 -0
  69. package/dist/scaffold-repo/sdks/csharp/src/Blok.Core/Logging/LogEntry.cs +34 -0
  70. package/dist/scaffold-repo/sdks/csharp/src/Blok.Core/Logging/LogLevel.cs +12 -0
  71. package/dist/scaffold-repo/sdks/csharp/src/Blok.Core/Logging/Logger.cs +92 -0
  72. package/dist/scaffold-repo/sdks/csharp/src/Blok.Core/Middleware/IMiddleware.cs +14 -0
  73. package/dist/scaffold-repo/sdks/csharp/src/Blok.Core/Middleware/LoggingMiddleware.cs +46 -0
  74. package/dist/scaffold-repo/sdks/csharp/src/Blok.Core/Middleware/MiddlewareChain.cs +35 -0
  75. package/dist/scaffold-repo/sdks/csharp/src/Blok.Core/Middleware/RecoveryMiddleware.cs +63 -0
  76. package/dist/scaffold-repo/sdks/csharp/src/Blok.Core/Node/INodeHandler.cs +17 -0
  77. package/dist/scaffold-repo/sdks/csharp/src/Blok.Core/Node/NodeRegistry.cs +128 -0
  78. package/dist/scaffold-repo/sdks/csharp/src/Blok.Core/Node/TypedNode.cs +140 -0
  79. package/dist/scaffold-repo/sdks/csharp/src/Blok.Core/Nodes/ApiCallNode.cs +129 -0
  80. package/dist/scaffold-repo/sdks/csharp/src/Blok.Core/Nodes/BlokErrorDemoNode.cs +125 -0
  81. package/dist/scaffold-repo/sdks/csharp/src/Blok.Core/Nodes/ChainTestNode.cs +79 -0
  82. package/dist/scaffold-repo/sdks/csharp/src/Blok.Core/Nodes/HelloWorldNode.cs +45 -0
  83. package/dist/scaffold-repo/sdks/csharp/src/Blok.Core/Nodes/TransformDataNode.cs +119 -0
  84. package/dist/scaffold-repo/sdks/csharp/src/Blok.Core/Nodes/TypedGreetNode.cs +23 -0
  85. package/dist/scaffold-repo/sdks/csharp/src/Blok.Core/Program.cs +26 -0
  86. package/dist/scaffold-repo/sdks/csharp/src/Blok.Core/Server/BlokNodeRuntimeService.cs +536 -0
  87. package/dist/scaffold-repo/sdks/csharp/src/Blok.Core/Server/RuntimeServer.cs +183 -0
  88. package/dist/scaffold-repo/sdks/csharp/src/Blok.Core/Testing/MockContextBuilder.cs +117 -0
  89. package/dist/scaffold-repo/sdks/csharp/src/Blok.Core/Testing/TestNodeRunner.cs +50 -0
  90. package/dist/scaffold-repo/sdks/csharp/src/Blok.Core/Types/Context.cs +56 -0
  91. package/dist/scaffold-repo/sdks/csharp/src/Blok.Core/Types/ExecutionMetrics.cs +21 -0
  92. package/dist/scaffold-repo/sdks/csharp/src/Blok.Core/Types/ExecutionRequest.cs +15 -0
  93. package/dist/scaffold-repo/sdks/csharp/src/Blok.Core/Types/ExecutionResult.cs +104 -0
  94. package/dist/scaffold-repo/sdks/csharp/src/Blok.Core/Types/HealthStatus.cs +18 -0
  95. package/dist/scaffold-repo/sdks/csharp/src/Blok.Core/Types/NodeConfig.cs +59 -0
  96. package/dist/scaffold-repo/sdks/csharp/src/Blok.Core/Types/Request.cs +57 -0
  97. package/dist/scaffold-repo/sdks/csharp/src/Blok.Core/Types/Response.cs +24 -0
  98. package/dist/scaffold-repo/sdks/csharp/src/Blok.Core/UserNodeRegistry.cs +17 -0
  99. package/dist/scaffold-repo/sdks/csharp/src/Blok.Core/Validation/SchemaValidator.cs +198 -0
  100. package/dist/scaffold-repo/sdks/csharp/tests/Blok.Core.Tests/Blok.Core.Tests.csproj +25 -0
  101. package/dist/scaffold-repo/sdks/csharp/tests/Blok.Core.Tests/Errors/BlokErrorTests.cs +458 -0
  102. package/dist/scaffold-repo/sdks/csharp/tests/Blok.Core.Tests/Logging/LoggerTests.cs +129 -0
  103. package/dist/scaffold-repo/sdks/csharp/tests/Blok.Core.Tests/Node/NodeRegistryTests.cs +145 -0
  104. package/dist/scaffold-repo/sdks/csharp/tests/Blok.Core.Tests/Testing/MockContextTests.cs +153 -0
  105. package/dist/scaffold-repo/sdks/csharp/tests/Blok.Core.Tests/TypedNodeTests.cs +69 -0
  106. package/dist/scaffold-repo/sdks/csharp/tests/Blok.Core.Tests/Types/ExecutionResultTests.cs +110 -0
  107. package/dist/scaffold-repo/sdks/csharp/tests/Blok.Core.Tests/Validation/SchemaValidatorTests.cs +233 -0
  108. package/dist/scaffold-repo/sdks/go/Dockerfile +33 -0
  109. package/dist/scaffold-repo/sdks/go/README.md +255 -0
  110. package/dist/scaffold-repo/sdks/go/blok_error.go +803 -0
  111. package/dist/scaffold-repo/sdks/go/blok_error_test.go +433 -0
  112. package/dist/scaffold-repo/sdks/go/cmd/server/main.go +45 -0
  113. package/dist/scaffold-repo/sdks/go/cmd/server/register_user_nodes.go +12 -0
  114. package/dist/scaffold-repo/sdks/go/config.go +157 -0
  115. package/dist/scaffold-repo/sdks/go/config_test.go +129 -0
  116. package/dist/scaffold-repo/sdks/go/define_node.go +87 -0
  117. package/dist/scaffold-repo/sdks/go/define_node_test.go +75 -0
  118. package/dist/scaffold-repo/sdks/go/errors.go +104 -0
  119. package/dist/scaffold-repo/sdks/go/errors_test.go +95 -0
  120. package/dist/scaffold-repo/sdks/go/examples/nodes/apicall.go +117 -0
  121. package/dist/scaffold-repo/sdks/go/examples/nodes/blokerrordemo.go +80 -0
  122. package/dist/scaffold-repo/sdks/go/examples/nodes/chaintest.go +63 -0
  123. package/dist/scaffold-repo/sdks/go/examples/nodes/helloworld.go +41 -0
  124. package/dist/scaffold-repo/sdks/go/examples/nodes/transformdata.go +176 -0
  125. package/dist/scaffold-repo/sdks/go/examples/nodes/typedgreet.go +34 -0
  126. package/dist/scaffold-repo/sdks/go/genpb/blok/runtime/v1/runtime.pb.go +2070 -0
  127. package/dist/scaffold-repo/sdks/go/genpb/blok/runtime/v1/runtime_grpc.pb.go +273 -0
  128. package/dist/scaffold-repo/sdks/go/go.mod +25 -0
  129. package/dist/scaffold-repo/sdks/go/go.sum +66 -0
  130. package/dist/scaffold-repo/sdks/go/grpc_server.go +670 -0
  131. package/dist/scaffold-repo/sdks/go/grpc_server_test.go +474 -0
  132. package/dist/scaffold-repo/sdks/go/logging.go +144 -0
  133. package/dist/scaffold-repo/sdks/go/logging_test.go +139 -0
  134. package/dist/scaffold-repo/sdks/go/middleware.go +152 -0
  135. package/dist/scaffold-repo/sdks/go/middleware_test.go +222 -0
  136. package/dist/scaffold-repo/sdks/go/node.go +50 -0
  137. package/dist/scaffold-repo/sdks/go/proto/blok/runtime/v1/runtime.proto +302 -0
  138. package/dist/scaffold-repo/sdks/go/registry.go +156 -0
  139. package/dist/scaffold-repo/sdks/go/registry_test.go +195 -0
  140. package/dist/scaffold-repo/sdks/go/server.go +207 -0
  141. package/dist/scaffold-repo/sdks/go/server_test.go +186 -0
  142. package/dist/scaffold-repo/sdks/go/shutdown.go +32 -0
  143. package/dist/scaffold-repo/sdks/go/testutil.go +169 -0
  144. package/dist/scaffold-repo/sdks/go/testutil_test.go +124 -0
  145. package/dist/scaffold-repo/sdks/go/types.go +295 -0
  146. package/dist/scaffold-repo/sdks/go/types_test.go +251 -0
  147. package/dist/scaffold-repo/sdks/go/validation.go +210 -0
  148. package/dist/scaffold-repo/sdks/go/validation_test.go +262 -0
  149. package/dist/scaffold-repo/sdks/go/worker.go +577 -0
  150. package/dist/scaffold-repo/sdks/java/Dockerfile +33 -0
  151. package/dist/scaffold-repo/sdks/java/README.md +221 -0
  152. package/dist/scaffold-repo/sdks/java/pom.xml +163 -0
  153. package/dist/scaffold-repo/sdks/java/src/main/java/com/blok/blok/Main.java +90 -0
  154. package/dist/scaffold-repo/sdks/java/src/main/java/com/blok/blok/UserNodeRegistry.java +19 -0
  155. package/dist/scaffold-repo/sdks/java/src/main/java/com/blok/blok/config/ServerConfig.java +244 -0
  156. package/dist/scaffold-repo/sdks/java/src/main/java/com/blok/blok/errors/BlokError.java +576 -0
  157. package/dist/scaffold-repo/sdks/java/src/main/java/com/blok/blok/errors/BlokErrorCategory.java +68 -0
  158. package/dist/scaffold-repo/sdks/java/src/main/java/com/blok/blok/errors/BlokErrorSeverity.java +31 -0
  159. package/dist/scaffold-repo/sdks/java/src/main/java/com/blok/blok/errors/BuildContextSnapshot.java +132 -0
  160. package/dist/scaffold-repo/sdks/java/src/main/java/com/blok/blok/errors/ErrorCategory.java +22 -0
  161. package/dist/scaffold-repo/sdks/java/src/main/java/com/blok/blok/errors/NodeException.java +176 -0
  162. package/dist/scaffold-repo/sdks/java/src/main/java/com/blok/blok/logging/LogEntry.java +78 -0
  163. package/dist/scaffold-repo/sdks/java/src/main/java/com/blok/blok/logging/LogLevel.java +48 -0
  164. package/dist/scaffold-repo/sdks/java/src/main/java/com/blok/blok/logging/Logger.java +160 -0
  165. package/dist/scaffold-repo/sdks/java/src/main/java/com/blok/blok/middleware/LoggingMiddleware.java +65 -0
  166. package/dist/scaffold-repo/sdks/java/src/main/java/com/blok/blok/middleware/Middleware.java +29 -0
  167. package/dist/scaffold-repo/sdks/java/src/main/java/com/blok/blok/middleware/MiddlewareChain.java +59 -0
  168. package/dist/scaffold-repo/sdks/java/src/main/java/com/blok/blok/middleware/RecoveryMiddleware.java +53 -0
  169. package/dist/scaffold-repo/sdks/java/src/main/java/com/blok/blok/node/NodeHandler.java +40 -0
  170. package/dist/scaffold-repo/sdks/java/src/main/java/com/blok/blok/node/NodeReflector.java +18 -0
  171. package/dist/scaffold-repo/sdks/java/src/main/java/com/blok/blok/node/NodeRegistry.java +205 -0
  172. package/dist/scaffold-repo/sdks/java/src/main/java/com/blok/blok/node/TypedNode.java +143 -0
  173. package/dist/scaffold-repo/sdks/java/src/main/java/com/blok/blok/nodes/ApiCallNode.java +145 -0
  174. package/dist/scaffold-repo/sdks/java/src/main/java/com/blok/blok/nodes/BlokErrorDemoNode.java +109 -0
  175. package/dist/scaffold-repo/sdks/java/src/main/java/com/blok/blok/nodes/ChainTestNode.java +65 -0
  176. package/dist/scaffold-repo/sdks/java/src/main/java/com/blok/blok/nodes/HelloWorldNode.java +62 -0
  177. package/dist/scaffold-repo/sdks/java/src/main/java/com/blok/blok/nodes/TransformDataNode.java +121 -0
  178. package/dist/scaffold-repo/sdks/java/src/main/java/com/blok/blok/nodes/TypedGreetNode.java +41 -0
  179. package/dist/scaffold-repo/sdks/java/src/main/java/com/blok/blok/server/BlokGrpcServer.java +103 -0
  180. package/dist/scaffold-repo/sdks/java/src/main/java/com/blok/blok/server/BlokNodeRuntimeService.java +501 -0
  181. package/dist/scaffold-repo/sdks/java/src/main/java/com/blok/blok/server/RuntimeServer.java +176 -0
  182. package/dist/scaffold-repo/sdks/java/src/main/java/com/blok/blok/testing/MockContext.java +120 -0
  183. package/dist/scaffold-repo/sdks/java/src/main/java/com/blok/blok/testing/TestRunner.java +59 -0
  184. package/dist/scaffold-repo/sdks/java/src/main/java/com/blok/blok/types/Context.java +167 -0
  185. package/dist/scaffold-repo/sdks/java/src/main/java/com/blok/blok/types/ExecutionMetrics.java +80 -0
  186. package/dist/scaffold-repo/sdks/java/src/main/java/com/blok/blok/types/ExecutionRequest.java +61 -0
  187. package/dist/scaffold-repo/sdks/java/src/main/java/com/blok/blok/types/ExecutionResult.java +188 -0
  188. package/dist/scaffold-repo/sdks/java/src/main/java/com/blok/blok/types/HealthStatus.java +77 -0
  189. package/dist/scaffold-repo/sdks/java/src/main/java/com/blok/blok/types/NodeConfig.java +139 -0
  190. package/dist/scaffold-repo/sdks/java/src/main/java/com/blok/blok/types/Request.java +154 -0
  191. package/dist/scaffold-repo/sdks/java/src/main/java/com/blok/blok/types/Response.java +77 -0
  192. package/dist/scaffold-repo/sdks/java/src/main/java/com/blok/blok/validation/SchemaValidator.java +178 -0
  193. package/dist/scaffold-repo/sdks/java/src/main/proto/blok/runtime/v1/runtime.proto +302 -0
  194. package/dist/scaffold-repo/sdks/java/src/test/java/com/blok/blok/errors/BlokErrorTest.java +416 -0
  195. package/dist/scaffold-repo/sdks/java/src/test/java/com/blok/blok/logging/LoggerTest.java +176 -0
  196. package/dist/scaffold-repo/sdks/java/src/test/java/com/blok/blok/node/NodeRegistryTest.java +227 -0
  197. package/dist/scaffold-repo/sdks/java/src/test/java/com/blok/blok/node/TypedNodeTest.java +76 -0
  198. package/dist/scaffold-repo/sdks/java/src/test/java/com/blok/blok/server/RuntimeServerTest.java +197 -0
  199. package/dist/scaffold-repo/sdks/java/src/test/java/com/blok/blok/types/ExecutionResultTest.java +194 -0
  200. package/dist/scaffold-repo/sdks/java/src/test/java/com/blok/blok/validation/SchemaValidatorTest.java +246 -0
  201. package/dist/scaffold-repo/sdks/php/.rr.yaml +29 -0
  202. package/dist/scaffold-repo/sdks/php/Dockerfile +61 -0
  203. package/dist/scaffold-repo/sdks/php/README.md +387 -0
  204. package/dist/scaffold-repo/sdks/php/bin/serve.php +95 -0
  205. package/dist/scaffold-repo/sdks/php/composer.json +41 -0
  206. package/dist/scaffold-repo/sdks/php/examples/ApiCallNode.php +103 -0
  207. package/dist/scaffold-repo/sdks/php/examples/BlokErrorDemoNode.php +90 -0
  208. package/dist/scaffold-repo/sdks/php/examples/ChainTestNode.php +56 -0
  209. package/dist/scaffold-repo/sdks/php/examples/HelloWorldNode.php +39 -0
  210. package/dist/scaffold-repo/sdks/php/examples/TransformDataNode.php +94 -0
  211. package/dist/scaffold-repo/sdks/php/examples/TypedGreetNode.php +57 -0
  212. package/dist/scaffold-repo/sdks/php/phpunit.xml +23 -0
  213. package/dist/scaffold-repo/sdks/php/proto/blok/runtime/v1/runtime.proto +302 -0
  214. package/dist/scaffold-repo/sdks/php/src/Config/ServerConfig.php +83 -0
  215. package/dist/scaffold-repo/sdks/php/src/Errors/BlokError.php +467 -0
  216. package/dist/scaffold-repo/sdks/php/src/Errors/BlokErrorBuilder.php +121 -0
  217. package/dist/scaffold-repo/sdks/php/src/Errors/BlokErrorCategory.php +83 -0
  218. package/dist/scaffold-repo/sdks/php/src/Errors/BlokErrorSeverity.php +30 -0
  219. package/dist/scaffold-repo/sdks/php/src/Errors/BuildContextSnapshot.php +141 -0
  220. package/dist/scaffold-repo/sdks/php/src/Errors/ErrorCategory.php +17 -0
  221. package/dist/scaffold-repo/sdks/php/src/Errors/NodeException.php +107 -0
  222. package/dist/scaffold-repo/sdks/php/src/Errors/Origin.php +35 -0
  223. package/dist/scaffold-repo/sdks/php/src/Genpb/Blok/Runtime/V1/ErrorCategory.php +118 -0
  224. package/dist/scaffold-repo/sdks/php/src/Genpb/Blok/Runtime/V1/ErrorSeverity.php +72 -0
  225. package/dist/scaffold-repo/sdks/php/src/Genpb/Blok/Runtime/V1/ExecuteEvent.php +181 -0
  226. package/dist/scaffold-repo/sdks/php/src/Genpb/Blok/Runtime/V1/ExecuteOptions.php +159 -0
  227. package/dist/scaffold-repo/sdks/php/src/Genpb/Blok/Runtime/V1/ExecuteRequest.php +328 -0
  228. package/dist/scaffold-repo/sdks/php/src/Genpb/Blok/Runtime/V1/ExecuteResponse.php +288 -0
  229. package/dist/scaffold-repo/sdks/php/src/Genpb/Blok/Runtime/V1/HealthRequest.php +59 -0
  230. package/dist/scaffold-repo/sdks/php/src/Genpb/Blok/Runtime/V1/HealthResponse/Status.php +54 -0
  231. package/dist/scaffold-repo/sdks/php/src/Genpb/Blok/Runtime/V1/HealthResponse.php +113 -0
  232. package/dist/scaffold-repo/sdks/php/src/Genpb/Blok/Runtime/V1/ListNodesRequest.php +32 -0
  233. package/dist/scaffold-repo/sdks/php/src/Genpb/Blok/Runtime/V1/ListNodesResponse.php +154 -0
  234. package/dist/scaffold-repo/sdks/php/src/Genpb/Blok/Runtime/V1/LogLine.php +156 -0
  235. package/dist/scaffold-repo/sdks/php/src/Genpb/Blok/Runtime/V1/Metrics.php +165 -0
  236. package/dist/scaffold-repo/sdks/php/src/Genpb/Blok/Runtime/V1/NodeDescriptor.php +174 -0
  237. package/dist/scaffold-repo/sdks/php/src/Genpb/Blok/Runtime/V1/NodeError.php +627 -0
  238. package/dist/scaffold-repo/sdks/php/src/Genpb/Blok/Runtime/V1/NodeRef.php +134 -0
  239. package/dist/scaffold-repo/sdks/php/src/Genpb/Blok/Runtime/V1/NodeRuntimeClient.php +101 -0
  240. package/dist/scaffold-repo/sdks/php/src/Genpb/Blok/Runtime/V1/NodeStarted.php +68 -0
  241. package/dist/scaffold-repo/sdks/php/src/Genpb/Blok/Runtime/V1/PartialResult.php +59 -0
  242. package/dist/scaffold-repo/sdks/php/src/Genpb/Blok/Runtime/V1/Progress.php +85 -0
  243. package/dist/scaffold-repo/sdks/php/src/Genpb/Blok/Runtime/V1/RuntimeState.php +142 -0
  244. package/dist/scaffold-repo/sdks/php/src/Genpb/Blok/Runtime/V1/StepInfo.php +168 -0
  245. package/dist/scaffold-repo/sdks/php/src/Genpb/Blok/Runtime/V1/TriggerInfo.php +289 -0
  246. package/dist/scaffold-repo/sdks/php/src/Genpb/Blok/Runtime/V1/WorkflowInfo.php +176 -0
  247. package/dist/scaffold-repo/sdks/php/src/Genpb/GPBMetadata/Blok/Runtime/V1/Runtime.php +26 -0
  248. package/dist/scaffold-repo/sdks/php/src/Logging/LogEntry.php +47 -0
  249. package/dist/scaffold-repo/sdks/php/src/Logging/LogLevel.php +50 -0
  250. package/dist/scaffold-repo/sdks/php/src/Logging/Logger.php +133 -0
  251. package/dist/scaffold-repo/sdks/php/src/Node/NodeHandler.php +35 -0
  252. package/dist/scaffold-repo/sdks/php/src/Node/NodeReflector.php +21 -0
  253. package/dist/scaffold-repo/sdks/php/src/Node/NodeRegistry.php +172 -0
  254. package/dist/scaffold-repo/sdks/php/src/Node/TypedNode.php +159 -0
  255. package/dist/scaffold-repo/sdks/php/src/Server/BlokNodeRuntimeService.php +504 -0
  256. package/dist/scaffold-repo/sdks/php/src/Server/DecodeException.php +13 -0
  257. package/dist/scaffold-repo/sdks/php/src/Server/Middleware.php +18 -0
  258. package/dist/scaffold-repo/sdks/php/src/Server/MiddlewarePipeline.php +33 -0
  259. package/dist/scaffold-repo/sdks/php/src/Server/NodeRuntimeInterface.php +40 -0
  260. package/dist/scaffold-repo/sdks/php/src/Server/Server.php +157 -0
  261. package/dist/scaffold-repo/sdks/php/src/Testing/MockContext.php +161 -0
  262. package/dist/scaffold-repo/sdks/php/src/Testing/TestRunner.php +78 -0
  263. package/dist/scaffold-repo/sdks/php/src/Types/Context.php +80 -0
  264. package/dist/scaffold-repo/sdks/php/src/Types/ExecutionMetrics.php +48 -0
  265. package/dist/scaffold-repo/sdks/php/src/Types/ExecutionRequest.php +38 -0
  266. package/dist/scaffold-repo/sdks/php/src/Types/ExecutionResult.php +143 -0
  267. package/dist/scaffold-repo/sdks/php/src/Types/HealthStatus.php +42 -0
  268. package/dist/scaffold-repo/sdks/php/src/Types/NodeConfig.php +72 -0
  269. package/dist/scaffold-repo/sdks/php/src/Types/Request.php +82 -0
  270. package/dist/scaffold-repo/sdks/php/src/Types/Response.php +44 -0
  271. package/dist/scaffold-repo/sdks/php/src/Validation/SchemaValidator.php +197 -0
  272. package/dist/scaffold-repo/sdks/php/tests/Errors/BlokErrorTest.php +402 -0
  273. package/dist/scaffold-repo/sdks/php/tests/Logging/LoggerTest.php +165 -0
  274. package/dist/scaffold-repo/sdks/php/tests/Node/NodeRegistryTest.php +139 -0
  275. package/dist/scaffold-repo/sdks/php/tests/Node/TypedNodeTest.php +84 -0
  276. package/dist/scaffold-repo/sdks/php/tests/Server/BlokNodeRuntimeServiceTest.php +288 -0
  277. package/dist/scaffold-repo/sdks/php/tests/Testing/MockContextTest.php +184 -0
  278. package/dist/scaffold-repo/sdks/php/tests/Types/ExecutionResultTest.php +136 -0
  279. package/dist/scaffold-repo/sdks/php/tests/Validation/SchemaValidatorTest.php +191 -0
  280. package/dist/scaffold-repo/sdks/python3/Dockerfile +62 -0
  281. package/dist/scaffold-repo/sdks/python3/bin/serve.py +174 -0
  282. package/dist/scaffold-repo/sdks/python3/bin/worker.py +60 -0
  283. package/dist/scaffold-repo/sdks/python3/blok/__init__.py +61 -0
  284. package/dist/scaffold-repo/sdks/python3/blok/config/__init__.py +3 -0
  285. package/dist/scaffold-repo/sdks/python3/blok/config/server_config.py +116 -0
  286. package/dist/scaffold-repo/sdks/python3/blok/errors/__init__.py +50 -0
  287. package/dist/scaffold-repo/sdks/python3/blok/errors/blok_error.py +555 -0
  288. package/dist/scaffold-repo/sdks/python3/blok/errors/node_error.py +64 -0
  289. package/dist/scaffold-repo/sdks/python3/blok/logging/__init__.py +3 -0
  290. package/dist/scaffold-repo/sdks/python3/blok/logging/logger.py +82 -0
  291. package/dist/scaffold-repo/sdks/python3/blok/middleware/__init__.py +4 -0
  292. package/dist/scaffold-repo/sdks/python3/blok/middleware/logging_middleware.py +35 -0
  293. package/dist/scaffold-repo/sdks/python3/blok/middleware/recovery_middleware.py +36 -0
  294. package/dist/scaffold-repo/sdks/python3/blok/node/__init__.py +4 -0
  295. package/dist/scaffold-repo/sdks/python3/blok/node/define_node.py +239 -0
  296. package/dist/scaffold-repo/sdks/python3/blok/node/node_handler.py +35 -0
  297. package/dist/scaffold-repo/sdks/python3/blok/node/node_registry.py +136 -0
  298. package/dist/scaffold-repo/sdks/python3/blok/runtime/__init__.py +0 -0
  299. package/dist/scaffold-repo/sdks/python3/blok/runtime/v1/__init__.py +0 -0
  300. package/dist/scaffold-repo/sdks/python3/blok/runtime/v1/runtime_pb2.py +112 -0
  301. package/dist/scaffold-repo/sdks/python3/blok/runtime/v1/runtime_pb2_grpc.py +259 -0
  302. package/dist/scaffold-repo/sdks/python3/blok/server/__init__.py +3 -0
  303. package/dist/scaffold-repo/sdks/python3/blok/server/grpc_server.py +757 -0
  304. package/dist/scaffold-repo/sdks/python3/blok/server/runtime_server.py +165 -0
  305. package/dist/scaffold-repo/sdks/python3/blok/types/__init__.py +13 -0
  306. package/dist/scaffold-repo/sdks/python3/blok/types/context.py +162 -0
  307. package/dist/scaffold-repo/sdks/python3/blok/types/execution_request.py +74 -0
  308. package/dist/scaffold-repo/sdks/python3/blok/types/execution_result.py +103 -0
  309. package/dist/scaffold-repo/sdks/python3/blok/worker/__init__.py +10 -0
  310. package/dist/scaffold-repo/sdks/python3/blok/worker/job_message.py +34 -0
  311. package/dist/scaffold-repo/sdks/python3/blok/worker/worker.py +451 -0
  312. package/dist/scaffold-repo/sdks/python3/blok/worker/worker_config.py +129 -0
  313. package/dist/scaffold-repo/sdks/python3/examples/__init__.py +32 -0
  314. package/dist/scaffold-repo/sdks/python3/examples/api_call_node.py +85 -0
  315. package/dist/scaffold-repo/sdks/python3/examples/blok_error_demo_node.py +79 -0
  316. package/dist/scaffold-repo/sdks/python3/examples/chain_test_node.py +51 -0
  317. package/dist/scaffold-repo/sdks/python3/examples/hello_world_node.py +44 -0
  318. package/dist/scaffold-repo/sdks/python3/examples/transform_data_node.py +71 -0
  319. package/dist/scaffold-repo/sdks/python3/examples/typed_greet_node.py +25 -0
  320. package/dist/scaffold-repo/sdks/python3/proto/blok/runtime/v1/runtime.proto +302 -0
  321. package/dist/scaffold-repo/sdks/python3/pyproject.toml +47 -0
  322. package/dist/scaffold-repo/sdks/python3/requirements.txt +17 -0
  323. package/dist/scaffold-repo/sdks/python3/tests/__init__.py +0 -0
  324. package/dist/scaffold-repo/sdks/python3/tests/test_blok_error.py +341 -0
  325. package/dist/scaffold-repo/sdks/python3/tests/test_define_node.py +135 -0
  326. package/dist/scaffold-repo/sdks/python3/tests/test_discovery.py +99 -0
  327. package/dist/scaffold-repo/sdks/python3/tests/test_grpc_codec.py +260 -0
  328. package/dist/scaffold-repo/sdks/python3/tests/test_grpc_server.py +398 -0
  329. package/dist/scaffold-repo/sdks/ruby/Dockerfile +37 -0
  330. package/dist/scaffold-repo/sdks/ruby/Gemfile +5 -0
  331. package/dist/scaffold-repo/sdks/ruby/README.md +210 -0
  332. package/dist/scaffold-repo/sdks/ruby/Rakefile +11 -0
  333. package/dist/scaffold-repo/sdks/ruby/bin/serve.rb +105 -0
  334. package/dist/scaffold-repo/sdks/ruby/blok.gemspec +43 -0
  335. package/dist/scaffold-repo/sdks/ruby/config.ru +15 -0
  336. package/dist/scaffold-repo/sdks/ruby/examples/api_call_node.rb +99 -0
  337. package/dist/scaffold-repo/sdks/ruby/examples/blok_error_demo_node.rb +79 -0
  338. package/dist/scaffold-repo/sdks/ruby/examples/chain_test_node.rb +51 -0
  339. package/dist/scaffold-repo/sdks/ruby/examples/hello_world_node.rb +40 -0
  340. package/dist/scaffold-repo/sdks/ruby/examples/transform_data_node.rb +82 -0
  341. package/dist/scaffold-repo/sdks/ruby/examples/typed_greet_node.rb +25 -0
  342. package/dist/scaffold-repo/sdks/ruby/lib/blok/config/server_config.rb +76 -0
  343. package/dist/scaffold-repo/sdks/ruby/lib/blok/errors/blok_error.rb +476 -0
  344. package/dist/scaffold-repo/sdks/ruby/lib/blok/errors/build_context_snapshot.rb +99 -0
  345. package/dist/scaffold-repo/sdks/ruby/lib/blok/errors/error_category.rb +16 -0
  346. package/dist/scaffold-repo/sdks/ruby/lib/blok/errors/node_error.rb +84 -0
  347. package/dist/scaffold-repo/sdks/ruby/lib/blok/logging/log_entry.rb +46 -0
  348. package/dist/scaffold-repo/sdks/ruby/lib/blok/logging/log_level.rb +49 -0
  349. package/dist/scaffold-repo/sdks/ruby/lib/blok/logging/logger.rb +71 -0
  350. package/dist/scaffold-repo/sdks/ruby/lib/blok/middleware/logging_middleware.rb +45 -0
  351. package/dist/scaffold-repo/sdks/ruby/lib/blok/middleware/middleware.rb +36 -0
  352. package/dist/scaffold-repo/sdks/ruby/lib/blok/middleware/recovery_middleware.rb +31 -0
  353. package/dist/scaffold-repo/sdks/ruby/lib/blok/node/discovery.rb +59 -0
  354. package/dist/scaffold-repo/sdks/ruby/lib/blok/node/node_handler.rb +43 -0
  355. package/dist/scaffold-repo/sdks/ruby/lib/blok/node/node_registry.rb +107 -0
  356. package/dist/scaffold-repo/sdks/ruby/lib/blok/node/typed_node.rb +180 -0
  357. package/dist/scaffold-repo/sdks/ruby/lib/blok/runtime/v1/runtime_pb.rb +43 -0
  358. package/dist/scaffold-repo/sdks/ruby/lib/blok/runtime/v1/runtime_services_pb.rb +55 -0
  359. package/dist/scaffold-repo/sdks/ruby/lib/blok/server/grpc_server.rb +435 -0
  360. package/dist/scaffold-repo/sdks/ruby/lib/blok/server/runtime_app.rb +86 -0
  361. package/dist/scaffold-repo/sdks/ruby/lib/blok/testing/mock_context.rb +109 -0
  362. package/dist/scaffold-repo/sdks/ruby/lib/blok/testing/test_runner.rb +40 -0
  363. package/dist/scaffold-repo/sdks/ruby/lib/blok/types/context.rb +82 -0
  364. package/dist/scaffold-repo/sdks/ruby/lib/blok/types/execution_metrics.rb +43 -0
  365. package/dist/scaffold-repo/sdks/ruby/lib/blok/types/execution_request.rb +39 -0
  366. package/dist/scaffold-repo/sdks/ruby/lib/blok/types/execution_result.rb +117 -0
  367. package/dist/scaffold-repo/sdks/ruby/lib/blok/types/health_status.rb +42 -0
  368. package/dist/scaffold-repo/sdks/ruby/lib/blok/types/node_config.rb +73 -0
  369. package/dist/scaffold-repo/sdks/ruby/lib/blok/types/request.rb +71 -0
  370. package/dist/scaffold-repo/sdks/ruby/lib/blok/types/response.rb +46 -0
  371. package/dist/scaffold-repo/sdks/ruby/lib/blok/validation/schema_validator.rb +142 -0
  372. package/dist/scaffold-repo/sdks/ruby/lib/blok/version.rb +5 -0
  373. package/dist/scaffold-repo/sdks/ruby/lib/blok.rb +53 -0
  374. package/dist/scaffold-repo/sdks/ruby/proto/blok/runtime/v1/runtime.proto +302 -0
  375. package/dist/scaffold-repo/sdks/ruby/test/errors/blok_error_test.rb +339 -0
  376. package/dist/scaffold-repo/sdks/ruby/test/logging/logger_test.rb +155 -0
  377. package/dist/scaffold-repo/sdks/ruby/test/node/node_registry_test.rb +132 -0
  378. package/dist/scaffold-repo/sdks/ruby/test/node/typed_node_test.rb +67 -0
  379. package/dist/scaffold-repo/sdks/ruby/test/test_helper.rb +6 -0
  380. package/dist/scaffold-repo/sdks/ruby/test/testing/mock_context_test.rb +150 -0
  381. package/dist/scaffold-repo/sdks/ruby/test/types/execution_result_test.rb +129 -0
  382. package/dist/scaffold-repo/sdks/ruby/test/validation/schema_validator_test.rb +270 -0
  383. package/dist/scaffold-repo/sdks/rust/Cargo.lock +3044 -0
  384. package/dist/scaffold-repo/sdks/rust/Cargo.toml +82 -0
  385. package/dist/scaffold-repo/sdks/rust/Dockerfile +40 -0
  386. package/dist/scaffold-repo/sdks/rust/README.md +73 -0
  387. package/dist/scaffold-repo/sdks/rust/build.rs +32 -0
  388. package/dist/scaffold-repo/sdks/rust/proto/blok/runtime/v1/runtime.proto +302 -0
  389. package/dist/scaffold-repo/sdks/rust/src/blok_error.rs +1168 -0
  390. package/dist/scaffold-repo/sdks/rust/src/config.rs +158 -0
  391. package/dist/scaffold-repo/sdks/rust/src/errors.rs +142 -0
  392. package/dist/scaffold-repo/sdks/rust/src/grpc_server.rs +635 -0
  393. package/dist/scaffold-repo/sdks/rust/src/lib.rs +65 -0
  394. package/dist/scaffold-repo/sdks/rust/src/logging.rs +195 -0
  395. package/dist/scaffold-repo/sdks/rust/src/main.rs +79 -0
  396. package/dist/scaffold-repo/sdks/rust/src/middleware.rs +181 -0
  397. package/dist/scaffold-repo/sdks/rust/src/node.rs +172 -0
  398. package/dist/scaffold-repo/sdks/rust/src/nodes/api_call.rs +93 -0
  399. package/dist/scaffold-repo/sdks/rust/src/nodes/blok_error_demo.rs +151 -0
  400. package/dist/scaffold-repo/sdks/rust/src/nodes/chain_test.rs +57 -0
  401. package/dist/scaffold-repo/sdks/rust/src/nodes/hello_world.rs +83 -0
  402. package/dist/scaffold-repo/sdks/rust/src/nodes/mod.rs +18 -0
  403. package/dist/scaffold-repo/sdks/rust/src/nodes/transform_data.rs +142 -0
  404. package/dist/scaffold-repo/sdks/rust/src/nodes/typed_greet.rs +56 -0
  405. package/dist/scaffold-repo/sdks/rust/src/registry.rs +204 -0
  406. package/dist/scaffold-repo/sdks/rust/src/server.rs +63 -0
  407. package/dist/scaffold-repo/sdks/rust/src/testing.rs +175 -0
  408. package/dist/scaffold-repo/sdks/rust/src/types.rs +338 -0
  409. package/dist/scaffold-repo/sdks/rust/src/user_nodes/mod.rs +10 -0
  410. package/dist/scaffold-repo/sdks/rust/src/validation.rs +232 -0
  411. package/dist/scaffold-repo/sdks/rust/src/worker.rs +509 -0
  412. package/dist/scaffold-repo/sdks/rust/tests/grpc_integration.rs +306 -0
  413. package/dist/scaffold-repo/sdks/rust/tests/typed_node.rs +104 -0
  414. package/dist/scaffold-repo/triggers/cron/CHANGELOG.md +22 -0
  415. package/dist/scaffold-repo/triggers/cron/package.json +36 -0
  416. package/dist/scaffold-repo/triggers/cron/src/CronTrigger.ts +552 -0
  417. package/dist/scaffold-repo/triggers/cron/src/index.ts +77 -0
  418. package/dist/scaffold-repo/triggers/cron/tsconfig.json +32 -0
  419. package/dist/scaffold-repo/triggers/grpc/.env.example +8 -0
  420. package/dist/scaffold-repo/triggers/grpc/CHANGELOG.md +143 -0
  421. package/dist/scaffold-repo/triggers/grpc/README.md +25 -0
  422. package/dist/scaffold-repo/triggers/grpc/buf.gen.yaml +11 -0
  423. package/dist/scaffold-repo/triggers/grpc/buf.yaml +9 -0
  424. package/dist/scaffold-repo/triggers/grpc/localhost+2-key.pem +28 -0
  425. package/dist/scaffold-repo/triggers/grpc/localhost+2.pem +27 -0
  426. package/dist/scaffold-repo/triggers/grpc/package.json +61 -0
  427. package/dist/scaffold-repo/triggers/grpc/proto/workflow.proto +33 -0
  428. package/dist/scaffold-repo/triggers/grpc/src/GRpcTrigger.ts +297 -0
  429. package/dist/scaffold-repo/triggers/grpc/src/GrpcClient.ts +87 -0
  430. package/dist/scaffold-repo/triggers/grpc/src/GrpcServer.ts +68 -0
  431. package/dist/scaffold-repo/triggers/grpc/src/MessageDecode.ts +142 -0
  432. package/dist/scaffold-repo/triggers/grpc/src/NanoSDK.ts +146 -0
  433. package/dist/scaffold-repo/triggers/grpc/src/Nodes.ts +10 -0
  434. package/dist/scaffold-repo/triggers/grpc/src/Workflows.ts +5 -0
  435. package/dist/scaffold-repo/triggers/grpc/src/gen/workflow_pb.ts +142 -0
  436. package/dist/scaffold-repo/triggers/grpc/src/index.ts +22 -0
  437. package/dist/scaffold-repo/triggers/grpc/src/server.ts +8 -0
  438. package/dist/scaffold-repo/triggers/grpc/src/types/Message.ts +0 -0
  439. package/dist/scaffold-repo/triggers/grpc/src/types/RuntimeWorkflow.ts +7 -0
  440. package/dist/scaffold-repo/triggers/grpc/src/types/Workflows.ts +7 -0
  441. package/dist/scaffold-repo/triggers/grpc/tsconfig.json +34 -0
  442. package/dist/scaffold-repo/triggers/grpc/vitest.config.ts +29 -0
  443. package/dist/scaffold-repo/triggers/grpc/workflows/countries.json +27 -0
  444. package/dist/scaffold-repo/triggers/http/.blok/trace.db +0 -0
  445. package/dist/scaffold-repo/triggers/http/.blok/trace.db-shm +0 -0
  446. package/dist/scaffold-repo/triggers/http/.blok/trace.db-wal +0 -0
  447. package/dist/scaffold-repo/triggers/http/.dockerignore +23 -0
  448. package/dist/scaffold-repo/triggers/http/.env.example +8 -0
  449. package/dist/scaffold-repo/triggers/http/CHANGELOG.md +326 -0
  450. package/dist/scaffold-repo/triggers/http/Dockerfile +49 -0
  451. package/dist/scaffold-repo/triggers/http/Dockerfile.dev +34 -0
  452. package/dist/scaffold-repo/triggers/http/infra/docker-compose.yml +38 -0
  453. package/dist/scaffold-repo/triggers/http/notes/CLI_Commands/Authentication.md +74 -0
  454. package/dist/scaffold-repo/triggers/http/notes/CLI_Commands/Building.md +52 -0
  455. package/dist/scaffold-repo/triggers/http/notes/CLI_Commands/Create_Node.md +123 -0
  456. package/dist/scaffold-repo/triggers/http/notes/CLI_Commands/Create_Workflow.md +177 -0
  457. package/dist/scaffold-repo/triggers/http/notes/CLI_Commands/Deployment.md +69 -0
  458. package/dist/scaffold-repo/triggers/http/notes/Core_Concepts/Context.md +156 -0
  459. package/dist/scaffold-repo/triggers/http/notes/examples.md +104 -0
  460. package/dist/scaffold-repo/triggers/http/notes/index.md +51 -0
  461. package/dist/scaffold-repo/triggers/http/package.json +62 -0
  462. package/dist/scaffold-repo/triggers/http/public/favicon.ico +0 -0
  463. package/dist/scaffold-repo/triggers/http/public/metric/index.html +2101 -0
  464. package/dist/scaffold-repo/triggers/http/request.http +7 -0
  465. package/dist/scaffold-repo/triggers/http/src/AppRoutes.ts +64 -0
  466. package/dist/scaffold-repo/triggers/http/src/Nodes.ts +38 -0
  467. package/dist/scaffold-repo/triggers/http/src/Workflows.ts +18 -0
  468. package/dist/scaffold-repo/triggers/http/src/index.ts +86 -0
  469. package/dist/scaffold-repo/triggers/http/src/nodes/chain-init/index.ts +48 -0
  470. package/dist/scaffold-repo/triggers/http/src/nodes/chain-verify/index.ts +123 -0
  471. package/dist/scaffold-repo/triggers/http/src/nodes/eval/index.ts +69 -0
  472. package/dist/scaffold-repo/triggers/http/src/nodes/examples/README.md +14 -0
  473. package/dist/scaffold-repo/triggers/http/src/nodes/examples/chat-ui/index.html +228 -0
  474. package/dist/scaffold-repo/triggers/http/src/nodes/examples/chat-ui/index.ts +65 -0
  475. package/dist/scaffold-repo/triggers/http/src/nodes/examples/index.ts +14 -0
  476. package/dist/scaffold-repo/triggers/http/src/nodes/runtime-bridge/index.ts +84 -0
  477. package/dist/scaffold-repo/triggers/http/src/runner/HonoTraceRouterAdapter.ts +199 -0
  478. package/dist/scaffold-repo/triggers/http/src/runner/HttpTrigger.ts +2039 -0
  479. package/dist/scaffold-repo/triggers/http/src/runner/MessageDecode.ts +57 -0
  480. package/dist/scaffold-repo/triggers/http/src/runner/Util.ts +52 -0
  481. package/dist/scaffold-repo/triggers/http/src/runner/WorkflowRouter.ts +411 -0
  482. package/dist/scaffold-repo/triggers/http/src/runner/metrics/opentelemetry_metrics.ts +84 -0
  483. package/dist/scaffold-repo/triggers/http/src/runner/metrics/opentelemetry_traces.ts +30 -0
  484. package/dist/scaffold-repo/triggers/http/src/runner/nodeCatalog.ts +128 -0
  485. package/dist/scaffold-repo/triggers/http/src/runner/responseEmitter.ts +138 -0
  486. package/dist/scaffold-repo/triggers/http/src/runner/scanWorkflows.ts +201 -0
  487. package/dist/scaffold-repo/triggers/http/src/runner/types/ErrorResponse.ts +3 -0
  488. package/dist/scaffold-repo/triggers/http/src/runner/types/NodeTypes.ts +13 -0
  489. package/dist/scaffold-repo/triggers/http/src/runner/types/Nodes.ts +5 -0
  490. package/dist/scaffold-repo/triggers/http/src/runner/types/RuntimeWorkflow.ts +7 -0
  491. package/dist/scaffold-repo/triggers/http/src/runner/types/WorkflowRequest.ts +8 -0
  492. package/dist/scaffold-repo/triggers/http/src/runner/types/WorkflowResponse.ts +7 -0
  493. package/dist/scaffold-repo/triggers/http/src/runner/types/Workflows.ts +14 -0
  494. package/dist/scaffold-repo/triggers/http/src/workflows/countries-cats-helper.ts +30 -0
  495. package/dist/scaffold-repo/triggers/http/src/workflows/countries-handle-dsl.ts +25 -0
  496. package/dist/scaffold-repo/triggers/http/src/workflows/countries-helper.ts +18 -0
  497. package/dist/scaffold-repo/triggers/http/src/workflows/empty.ts +16 -0
  498. package/dist/scaffold-repo/triggers/http/src/workflows/eval/eval-retrieve.ts +23 -0
  499. package/dist/scaffold-repo/triggers/http/src/workflows/eval/eval-run.ts +39 -0
  500. package/dist/scaffold-repo/triggers/http/src/workflows/eval/foreign-auth.ts +24 -0
  501. package/dist/scaffold-repo/triggers/http/tsconfig.json +39 -0
  502. package/dist/scaffold-repo/triggers/http/vitest.config.ts +39 -0
  503. package/dist/scaffold-repo/triggers/http/workflows/json/agent-message.json +87 -0
  504. package/dist/scaffold-repo/triggers/http/workflows/json/agent-page.json +25 -0
  505. package/dist/scaffold-repo/triggers/http/workflows/json/agent-stream.json +30 -0
  506. package/dist/scaffold-repo/triggers/http/workflows/json/agent-tool-calculator.json +22 -0
  507. package/dist/scaffold-repo/triggers/http/workflows/json/agent-tool-weather.json +22 -0
  508. package/dist/scaffold-repo/triggers/http/workflows/json/chat-memory-message.json +54 -0
  509. package/dist/scaffold-repo/triggers/http/workflows/json/chat-memory-page.json +25 -0
  510. package/dist/scaffold-repo/triggers/http/workflows/json/chat-memory-stream.json +30 -0
  511. package/dist/scaffold-repo/triggers/http/workflows/json/chat-message.json +25 -0
  512. package/dist/scaffold-repo/triggers/http/workflows/json/chat-page.json +20 -0
  513. package/dist/scaffold-repo/triggers/http/workflows/json/chat-stream.json +30 -0
  514. package/dist/scaffold-repo/triggers/http/workflows/json/countries-py.json +27 -0
  515. package/dist/scaffold-repo/triggers/http/workflows/json/countries-vs-facts.json +50 -0
  516. package/dist/scaffold-repo/triggers/http/workflows/json/countries.json +27 -0
  517. package/dist/scaffold-repo/triggers/http/workflows/json/cross-runtime-chain.json +89 -0
  518. package/dist/scaffold-repo/triggers/http/workflows/json/dashboard-gen.json +34 -0
  519. package/dist/scaffold-repo/triggers/http/workflows/json/db-manager.json +34 -0
  520. package/dist/scaffold-repo/triggers/http/workflows/json/empty.json +13 -0
  521. package/dist/scaffold-repo/triggers/http/workflows/json/fanout-enqueue.json +48 -0
  522. package/dist/scaffold-repo/triggers/http/workflows/json/fanout-worker.json +41 -0
  523. package/dist/scaffold-repo/triggers/http/workflows/json/feedback.json +34 -0
  524. package/dist/scaffold-repo/triggers/http/workflows/json/films.json +27 -0
  525. package/dist/scaffold-repo/triggers/http/workflows/json/image-capture.json +34 -0
  526. package/dist/scaffold-repo/triggers/http/workflows/json/launches-by-year.json +27 -0
  527. package/dist/scaffold-repo/triggers/http/workflows/json/loadtest.json +24 -0
  528. package/dist/scaffold-repo/triggers/http/workflows/json/middleware/admin-only.json +31 -0
  529. package/dist/scaffold-repo/triggers/http/workflows/json/middleware/auth-check.json +59 -0
  530. package/dist/scaffold-repo/triggers/http/workflows/json/middleware/github-webhook-verify.json +34 -0
  531. package/dist/scaffold-repo/triggers/http/workflows/json/middleware/jwt-auth.json +46 -0
  532. package/dist/scaffold-repo/triggers/http/workflows/json/middleware/rate-limit.json +70 -0
  533. package/dist/scaffold-repo/triggers/http/workflows/json/middleware/redis-rate-limit.json +71 -0
  534. package/dist/scaffold-repo/triggers/http/workflows/json/mongodb.json +24 -0
  535. package/dist/scaffold-repo/triggers/http/workflows/json/rentals-pdf.json +65 -0
  536. package/dist/scaffold-repo/triggers/http/workflows/json/v05-admin-delete-user.json +42 -0
  537. package/dist/scaffold-repo/triggers/http/workflows/json/v05-async-job-poller.json +45 -0
  538. package/dist/scaffold-repo/triggers/http/workflows/json/v05-csv-import.json +122 -0
  539. package/dist/scaffold-repo/triggers/http/workflows/json/v05-data-export.json +105 -0
  540. package/dist/scaffold-repo/triggers/http/workflows/json/v05-event-router.json +97 -0
  541. package/dist/scaffold-repo/triggers/http/workflows/json/v05-github-handler-issues.json +22 -0
  542. package/dist/scaffold-repo/triggers/http/workflows/json/v05-github-handler-pr.json +22 -0
  543. package/dist/scaffold-repo/triggers/http/workflows/json/v05-github-handler-push.json +22 -0
  544. package/dist/scaffold-repo/triggers/http/workflows/json/v05-github-webhook-router.json +88 -0
  545. package/dist/scaffold-repo/triggers/http/workflows/json/v05-hello-global-mw.json +22 -0
  546. package/dist/scaffold-repo/triggers/http/workflows/json/v05-hello-with-mw.json +23 -0
  547. package/dist/scaffold-repo/triggers/http/workflows/json/v05-jwt-protected.json +23 -0
  548. package/dist/scaffold-repo/triggers/http/workflows/json/v05-multi-tenant-router.json +90 -0
  549. package/dist/scaffold-repo/triggers/http/workflows/json/v05-nested-control-flow.json +207 -0
  550. package/dist/scaffold-repo/triggers/http/workflows/json/v05-order-fulfillment.json +211 -0
  551. package/dist/scaffold-repo/triggers/http/workflows/json/v05-parallel-foreach-with-wait.json +47 -0
  552. package/dist/scaffold-repo/triggers/http/workflows/json/v05-polling-with-backoff.json +55 -0
  553. package/dist/scaffold-repo/triggers/http/workflows/json/v05-protected.json +23 -0
  554. package/dist/scaffold-repo/triggers/http/workflows/json/v05-redis-protected.json +23 -0
  555. package/dist/scaffold-repo/triggers/http/workflows/json/v05-saga.json +122 -0
  556. package/dist/scaffold-repo/triggers/http/workflows/json/v05-tenant-acme.json +22 -0
  557. package/dist/scaffold-repo/triggers/http/workflows/json/v05-tenant-beta.json +22 -0
  558. package/dist/scaffold-repo/triggers/http/workflows/json/v05-tenant-gamma.json +22 -0
  559. package/dist/scaffold-repo/triggers/http/workflows/json/v05-travel-booking.json +200 -0
  560. package/dist/scaffold-repo/triggers/http/workflows/json/v05-user-signup-saga.json +186 -0
  561. package/dist/scaffold-repo/triggers/http/workflows/json/v05-webhook-fanout.json +49 -0
  562. package/dist/scaffold-repo/triggers/http/workflows/json/v06-reliability-showcase.json +80 -0
  563. package/dist/scaffold-repo/triggers/http/workflows/json/v07-sse-publish.json +24 -0
  564. package/dist/scaffold-repo/triggers/http/workflows/json/v07-sse-stream.json +26 -0
  565. package/dist/scaffold-repo/triggers/http/workflows/json/v07-ws-echo.json +38 -0
  566. package/dist/scaffold-repo/triggers/http/workflows/json/webhook-github-issues.json +22 -0
  567. package/dist/scaffold-repo/triggers/http/workflows/json/webhook-github-pr.json +22 -0
  568. package/dist/scaffold-repo/triggers/http/workflows/json/webhook-github-push.json +32 -0
  569. package/dist/scaffold-repo/triggers/http/workflows/json/webhook-github.json +87 -0
  570. package/dist/scaffold-repo/triggers/http/workflows/json/webhook-linear-comment.json +22 -0
  571. package/dist/scaffold-repo/triggers/http/workflows/json/webhook-linear-issue.json +22 -0
  572. package/dist/scaffold-repo/triggers/http/workflows/json/webhook-linear.json +74 -0
  573. package/dist/scaffold-repo/triggers/http/workflows/json/webhook-stripe-customer-created.json +22 -0
  574. package/dist/scaffold-repo/triggers/http/workflows/json/webhook-stripe-invoice-paid.json +32 -0
  575. package/dist/scaffold-repo/triggers/http/workflows/json/webhook-stripe.json +24 -0
  576. package/dist/scaffold-repo/triggers/http/workflows/json/workflow-docs.json +34 -0
  577. package/dist/scaffold-repo/triggers/http/workflows/toml/countries.toml +21 -0
  578. package/dist/scaffold-repo/triggers/http/workflows/xml/countries.xml +23 -0
  579. package/dist/scaffold-repo/triggers/http/workflows/yaml/countries.yaml +19 -0
  580. package/dist/scaffold-repo/triggers/mcp/README.md +131 -0
  581. package/dist/scaffold-repo/triggers/mcp/package.json +39 -0
  582. package/dist/scaffold-repo/triggers/mcp/src/McpTrigger.ts +581 -0
  583. package/dist/scaffold-repo/triggers/mcp/src/index.ts +41 -0
  584. package/dist/scaffold-repo/triggers/mcp/tsconfig.json +32 -0
  585. package/dist/scaffold-repo/triggers/pubsub/CHANGELOG.md +22 -0
  586. package/dist/scaffold-repo/triggers/pubsub/package.json +66 -0
  587. package/dist/scaffold-repo/triggers/pubsub/src/PubSubTrigger.ts +424 -0
  588. package/dist/scaffold-repo/triggers/pubsub/src/adapters/AWSSNSAdapter.ts +352 -0
  589. package/dist/scaffold-repo/triggers/pubsub/src/adapters/AzureServiceBusAdapter.ts +303 -0
  590. package/dist/scaffold-repo/triggers/pubsub/src/adapters/GCPPubSubAdapter.ts +327 -0
  591. package/dist/scaffold-repo/triggers/pubsub/src/adapters/KafkaPubSubAdapter.ts +247 -0
  592. package/dist/scaffold-repo/triggers/pubsub/src/adapters/KafkaPubSubAdapter.ts.bak +251 -0
  593. package/dist/scaffold-repo/triggers/pubsub/src/adapters/NATSPubSubAdapter.ts +333 -0
  594. package/dist/scaffold-repo/triggers/pubsub/src/adapters/RedisStreamsPubSubAdapter.ts +256 -0
  595. package/dist/scaffold-repo/triggers/pubsub/src/adapters/factory.ts +88 -0
  596. package/dist/scaffold-repo/triggers/pubsub/src/index.ts +67 -0
  597. package/dist/scaffold-repo/triggers/pubsub/template/.env.example +8 -0
  598. package/dist/scaffold-repo/triggers/pubsub/template/package.json +45 -0
  599. package/dist/scaffold-repo/triggers/pubsub/template/src/Nodes.ts +20 -0
  600. package/dist/scaffold-repo/triggers/pubsub/template/src/Workflows.ts +8 -0
  601. package/dist/scaffold-repo/triggers/pubsub/template/src/index.ts +41 -0
  602. package/dist/scaffold-repo/triggers/pubsub/template/src/runner/PubSubServer.ts +39 -0
  603. package/dist/scaffold-repo/triggers/pubsub/template/src/runner/types/Workflows.ts +7 -0
  604. package/dist/scaffold-repo/triggers/pubsub/template/src/workflows/messages/on-message.ts +42 -0
  605. package/dist/scaffold-repo/triggers/pubsub/template/src/workflows/publish-order.ts +22 -0
  606. package/dist/scaffold-repo/triggers/pubsub/template/tsconfig.json +31 -0
  607. package/dist/scaffold-repo/triggers/pubsub/template/vitest.config.ts +39 -0
  608. package/dist/scaffold-repo/triggers/pubsub/tsconfig.json +32 -0
  609. package/dist/scaffold-repo/triggers/sse/.env.example +8 -0
  610. package/dist/scaffold-repo/triggers/sse/CHANGELOG.md +12 -0
  611. package/dist/scaffold-repo/triggers/sse/Dockerfile +47 -0
  612. package/dist/scaffold-repo/triggers/sse/Dockerfile.dev +33 -0
  613. package/dist/scaffold-repo/triggers/sse/package.json +37 -0
  614. package/dist/scaffold-repo/triggers/sse/src/SSETrigger.ts +489 -0
  615. package/dist/scaffold-repo/triggers/sse/src/bus.ts +208 -0
  616. package/dist/scaffold-repo/triggers/sse/src/index.ts +38 -0
  617. package/dist/scaffold-repo/triggers/sse/src/workflows/events/README.md +129 -0
  618. package/dist/scaffold-repo/triggers/sse/src/workflows/events/publish-demo.ts +40 -0
  619. package/dist/scaffold-repo/triggers/sse/src/workflows/events/stream-demo.ts +43 -0
  620. package/dist/scaffold-repo/triggers/sse/tsconfig.json +22 -0
  621. package/dist/scaffold-repo/triggers/sse/vitest.config.ts +39 -0
  622. package/dist/scaffold-repo/triggers/webhook/CHANGELOG.md +22 -0
  623. package/dist/scaffold-repo/triggers/webhook/package.json +36 -0
  624. package/dist/scaffold-repo/triggers/webhook/src/WebhookTrigger.ts +465 -0
  625. package/dist/scaffold-repo/triggers/webhook/src/index.ts +51 -0
  626. package/dist/scaffold-repo/triggers/webhook/src/verifiers.ts +394 -0
  627. package/dist/scaffold-repo/triggers/webhook/tsconfig.json +32 -0
  628. package/dist/scaffold-repo/triggers/websocket/.env.example +8 -0
  629. package/dist/scaffold-repo/triggers/websocket/CHANGELOG.md +22 -0
  630. package/dist/scaffold-repo/triggers/websocket/package.json +50 -0
  631. package/dist/scaffold-repo/triggers/websocket/src/Backplane.ts +167 -0
  632. package/dist/scaffold-repo/triggers/websocket/src/WebSocketTrigger.ts +910 -0
  633. package/dist/scaffold-repo/triggers/websocket/src/index.ts +50 -0
  634. package/dist/scaffold-repo/triggers/websocket/src/workflows/events/README.md +93 -0
  635. package/dist/scaffold-repo/triggers/websocket/src/workflows/events/echo-demo.ts +56 -0
  636. package/dist/scaffold-repo/triggers/websocket/tsconfig.json +22 -0
  637. package/dist/scaffold-repo/triggers/websocket/vitest.config.ts +39 -0
  638. package/dist/scaffold-repo/triggers/worker/CHANGELOG.md +22 -0
  639. package/dist/scaffold-repo/triggers/worker/package.json +68 -0
  640. package/dist/scaffold-repo/triggers/worker/src/WorkerTrigger.ts +943 -0
  641. package/dist/scaffold-repo/triggers/worker/src/adapters/BullMQAdapter.ts +296 -0
  642. package/dist/scaffold-repo/triggers/worker/src/adapters/InMemoryAdapter.ts +280 -0
  643. package/dist/scaffold-repo/triggers/worker/src/adapters/KafkaAdapter.ts +347 -0
  644. package/dist/scaffold-repo/triggers/worker/src/adapters/NATSAdapter.ts +505 -0
  645. package/dist/scaffold-repo/triggers/worker/src/adapters/PgBossAdapter.ts +319 -0
  646. package/dist/scaffold-repo/triggers/worker/src/adapters/RabbitMQAdapter.ts +318 -0
  647. package/dist/scaffold-repo/triggers/worker/src/adapters/RedisStreamsAdapter.ts +513 -0
  648. package/dist/scaffold-repo/triggers/worker/src/adapters/SQSAdapter.ts +314 -0
  649. package/dist/scaffold-repo/triggers/worker/src/adapters/factory.ts +111 -0
  650. package/dist/scaffold-repo/triggers/worker/src/index.ts +95 -0
  651. package/dist/scaffold-repo/triggers/worker/template/.env.example +18 -0
  652. package/dist/scaffold-repo/triggers/worker/template/package.json +46 -0
  653. package/dist/scaffold-repo/triggers/worker/template/src/Nodes.ts +20 -0
  654. package/dist/scaffold-repo/triggers/worker/template/src/Workflows.ts +8 -0
  655. package/dist/scaffold-repo/triggers/worker/template/src/index.ts +41 -0
  656. package/dist/scaffold-repo/triggers/worker/template/src/runner/WorkerServer.ts +34 -0
  657. package/dist/scaffold-repo/triggers/worker/template/src/runner/types/Workflows.ts +7 -0
  658. package/dist/scaffold-repo/triggers/worker/template/src/workflows/jobs/process-job.ts +40 -0
  659. package/dist/scaffold-repo/triggers/worker/template/tsconfig.json +31 -0
  660. package/dist/scaffold-repo/triggers/worker/template/vitest.config.ts +39 -0
  661. package/dist/scaffold-repo/triggers/worker/tsconfig.json +32 -0
  662. package/dist/scaffold-repo/workflows/json/agent-message.json +87 -0
  663. package/dist/scaffold-repo/workflows/json/agent-page.json +25 -0
  664. package/dist/scaffold-repo/workflows/json/agent-stream.json +30 -0
  665. package/dist/scaffold-repo/workflows/json/agent-tool-calculator.json +22 -0
  666. package/dist/scaffold-repo/workflows/json/agent-tool-weather.json +22 -0
  667. package/dist/scaffold-repo/workflows/json/chat-memory-message.json +54 -0
  668. package/dist/scaffold-repo/workflows/json/chat-memory-page.json +25 -0
  669. package/dist/scaffold-repo/workflows/json/chat-memory-stream.json +30 -0
  670. package/dist/scaffold-repo/workflows/json/chat-message.json +25 -0
  671. package/dist/scaffold-repo/workflows/json/chat-page.json +20 -0
  672. package/dist/scaffold-repo/workflows/json/chat-stream.json +30 -0
  673. package/dist/scaffold-repo/workflows/json/countries-vs-facts.json +50 -0
  674. package/dist/scaffold-repo/workflows/json/countries.json +27 -0
  675. package/dist/scaffold-repo/workflows/json/cron-heartbeat.json +15 -0
  676. package/dist/scaffold-repo/workflows/json/fanout-enqueue.json +48 -0
  677. package/dist/scaffold-repo/workflows/json/fanout-worker.json +41 -0
  678. package/dist/scaffold-repo/workflows/json/pubsub-on-order.json +24 -0
  679. package/dist/scaffold-repo/workflows/json/webhook-github-issues.json +22 -0
  680. package/dist/scaffold-repo/workflows/json/webhook-github-pr.json +22 -0
  681. package/dist/scaffold-repo/workflows/json/webhook-github-push.json +32 -0
  682. package/dist/scaffold-repo/workflows/json/webhook-github.json +87 -0
  683. package/dist/scaffold-repo/workflows/json/webhook-linear-comment.json +22 -0
  684. package/dist/scaffold-repo/workflows/json/webhook-linear-issue.json +22 -0
  685. package/dist/scaffold-repo/workflows/json/webhook-linear.json +74 -0
  686. package/dist/scaffold-repo/workflows/json/webhook-stripe-customer-created.json +22 -0
  687. package/dist/scaffold-repo/workflows/json/webhook-stripe-invoice-paid.json +32 -0
  688. package/dist/scaffold-repo/workflows/json/webhook-stripe.json +24 -0
  689. package/package.json +4 -4
@@ -0,0 +1,1616 @@
1
+ --
2
+ -- NOTE:
3
+ --
4
+ -- File paths need to be edited. Search for /var/lib/postgresql/bump and
5
+ -- replace it with the path to the directory containing
6
+ -- the extracted data files.
7
+ --
8
+ --
9
+ -- PostgreSQL database dump
10
+ --
11
+
12
+ -- Dumped from database version 11.3
13
+ -- Dumped by pg_dump version 11.2
14
+
15
+ SET statement_timeout = 0;
16
+ SET lock_timeout = 0;
17
+ SET idle_in_transaction_session_timeout = 0;
18
+ SET client_encoding = 'UTF8';
19
+ SET standard_conforming_strings = on;
20
+ SELECT pg_catalog.set_config('search_path', '', false);
21
+ SET check_function_bodies = false;
22
+ SET client_min_messages = warning;
23
+ SET row_security = off;
24
+
25
+ -- DROP DATABASE dvdrental;
26
+ --
27
+ -- Name: dvdrental; Type: DATABASE; Schema: -; Owner: postgres
28
+ --
29
+
30
+ CREATE DATABASE dvdrental WITH TEMPLATE = template0 ENCODING 'UNICODE' LC_COLLATE 'en_US.UTF-8' LC_CTYPE 'en_US.UTF-8';
31
+
32
+
33
+ ALTER DATABASE dvdrental OWNER TO postgres;
34
+
35
+ \connect dvdrental
36
+
37
+ SET statement_timeout = 0;
38
+ SET lock_timeout = 0;
39
+ SET idle_in_transaction_session_timeout = 0;
40
+ SET client_encoding = 'UTF8';
41
+ SET standard_conforming_strings = on;
42
+ SELECT pg_catalog.set_config('search_path', '', false);
43
+ SET check_function_bodies = false;
44
+ SET client_min_messages = warning;
45
+ SET row_security = off;
46
+
47
+ --
48
+ -- Name: mpaa_rating; Type: TYPE; Schema: public; Owner: postgres
49
+ --
50
+
51
+ CREATE TYPE public.mpaa_rating AS ENUM (
52
+ 'G',
53
+ 'PG',
54
+ 'PG-13',
55
+ 'R',
56
+ 'NC-17'
57
+ );
58
+
59
+
60
+ ALTER TYPE public.mpaa_rating OWNER TO postgres;
61
+
62
+ --
63
+ -- Name: year; Type: DOMAIN; Schema: public; Owner: postgres
64
+ --
65
+
66
+ CREATE DOMAIN public.year AS integer
67
+ CONSTRAINT year_check CHECK (((VALUE >= 1901) AND (VALUE <= 2155)));
68
+
69
+
70
+ ALTER DOMAIN public.year OWNER TO postgres;
71
+
72
+ --
73
+ -- Name: _group_concat(text, text); Type: FUNCTION; Schema: public; Owner: postgres
74
+ --
75
+
76
+ CREATE FUNCTION public._group_concat(text, text) RETURNS text
77
+ LANGUAGE sql IMMUTABLE
78
+ AS $_$
79
+ SELECT CASE
80
+ WHEN $2 IS NULL THEN $1
81
+ WHEN $1 IS NULL THEN $2
82
+ ELSE $1 || ', ' || $2
83
+ END
84
+ $_$;
85
+
86
+
87
+ ALTER FUNCTION public._group_concat(text, text) OWNER TO postgres;
88
+
89
+ --
90
+ -- Name: film_in_stock(integer, integer); Type: FUNCTION; Schema: public; Owner: postgres
91
+ --
92
+
93
+ CREATE FUNCTION public.film_in_stock(p_film_id integer, p_store_id integer, OUT p_film_count integer) RETURNS SETOF integer
94
+ LANGUAGE sql
95
+ AS $_$
96
+ SELECT inventory_id
97
+ FROM inventory
98
+ WHERE film_id = $1
99
+ AND store_id = $2
100
+ AND inventory_in_stock(inventory_id);
101
+ $_$;
102
+
103
+
104
+ ALTER FUNCTION public.film_in_stock(p_film_id integer, p_store_id integer, OUT p_film_count integer) OWNER TO postgres;
105
+
106
+ --
107
+ -- Name: film_not_in_stock(integer, integer); Type: FUNCTION; Schema: public; Owner: postgres
108
+ --
109
+
110
+ CREATE FUNCTION public.film_not_in_stock(p_film_id integer, p_store_id integer, OUT p_film_count integer) RETURNS SETOF integer
111
+ LANGUAGE sql
112
+ AS $_$
113
+ SELECT inventory_id
114
+ FROM inventory
115
+ WHERE film_id = $1
116
+ AND store_id = $2
117
+ AND NOT inventory_in_stock(inventory_id);
118
+ $_$;
119
+
120
+
121
+ ALTER FUNCTION public.film_not_in_stock(p_film_id integer, p_store_id integer, OUT p_film_count integer) OWNER TO postgres;
122
+
123
+ --
124
+ -- Name: get_customer_balance(integer, timestamp without time zone); Type: FUNCTION; Schema: public; Owner: postgres
125
+ --
126
+
127
+ CREATE FUNCTION public.get_customer_balance(p_customer_id integer, p_effective_date timestamp without time zone) RETURNS numeric
128
+ LANGUAGE plpgsql
129
+ AS $$
130
+ --#OK, WE NEED TO CALCULATE THE CURRENT BALANCE GIVEN A CUSTOMER_ID AND A DATE
131
+ --#THAT WE WANT THE BALANCE TO BE EFFECTIVE FOR. THE BALANCE IS:
132
+ --# 1) RENTAL FEES FOR ALL PREVIOUS RENTALS
133
+ --# 2) ONE DOLLAR FOR EVERY DAY THE PREVIOUS RENTALS ARE OVERDUE
134
+ --# 3) IF A FILM IS MORE THAN RENTAL_DURATION * 2 OVERDUE, CHARGE THE REPLACEMENT_COST
135
+ --# 4) SUBTRACT ALL PAYMENTS MADE BEFORE THE DATE SPECIFIED
136
+ DECLARE
137
+ v_rentfees DECIMAL(5,2); --#FEES PAID TO RENT THE VIDEOS INITIALLY
138
+ v_overfees INTEGER; --#LATE FEES FOR PRIOR RENTALS
139
+ v_payments DECIMAL(5,2); --#SUM OF PAYMENTS MADE PREVIOUSLY
140
+ BEGIN
141
+ SELECT COALESCE(SUM(film.rental_rate),0) INTO v_rentfees
142
+ FROM film, inventory, rental
143
+ WHERE film.film_id = inventory.film_id
144
+ AND inventory.inventory_id = rental.inventory_id
145
+ AND rental.rental_date <= p_effective_date
146
+ AND rental.customer_id = p_customer_id;
147
+
148
+ SELECT COALESCE(SUM(IF((rental.return_date - rental.rental_date) > (film.rental_duration * '1 day'::interval),
149
+ ((rental.return_date - rental.rental_date) - (film.rental_duration * '1 day'::interval)),0)),0) INTO v_overfees
150
+ FROM rental, inventory, film
151
+ WHERE film.film_id = inventory.film_id
152
+ AND inventory.inventory_id = rental.inventory_id
153
+ AND rental.rental_date <= p_effective_date
154
+ AND rental.customer_id = p_customer_id;
155
+
156
+ SELECT COALESCE(SUM(payment.amount),0) INTO v_payments
157
+ FROM payment
158
+ WHERE payment.payment_date <= p_effective_date
159
+ AND payment.customer_id = p_customer_id;
160
+
161
+ RETURN v_rentfees + v_overfees - v_payments;
162
+ END
163
+ $$;
164
+
165
+
166
+ ALTER FUNCTION public.get_customer_balance(p_customer_id integer, p_effective_date timestamp without time zone) OWNER TO postgres;
167
+
168
+ --
169
+ -- Name: inventory_held_by_customer(integer); Type: FUNCTION; Schema: public; Owner: postgres
170
+ --
171
+
172
+ CREATE FUNCTION public.inventory_held_by_customer(p_inventory_id integer) RETURNS integer
173
+ LANGUAGE plpgsql
174
+ AS $$
175
+ DECLARE
176
+ v_customer_id INTEGER;
177
+ BEGIN
178
+
179
+ SELECT customer_id INTO v_customer_id
180
+ FROM rental
181
+ WHERE return_date IS NULL
182
+ AND inventory_id = p_inventory_id;
183
+
184
+ RETURN v_customer_id;
185
+ END $$;
186
+
187
+
188
+ ALTER FUNCTION public.inventory_held_by_customer(p_inventory_id integer) OWNER TO postgres;
189
+
190
+ --
191
+ -- Name: inventory_in_stock(integer); Type: FUNCTION; Schema: public; Owner: postgres
192
+ --
193
+
194
+ CREATE FUNCTION public.inventory_in_stock(p_inventory_id integer) RETURNS boolean
195
+ LANGUAGE plpgsql
196
+ AS $$
197
+ DECLARE
198
+ v_rentals INTEGER;
199
+ v_out INTEGER;
200
+ BEGIN
201
+ -- AN ITEM IS IN-STOCK IF THERE ARE EITHER NO ROWS IN THE rental TABLE
202
+ -- FOR THE ITEM OR ALL ROWS HAVE return_date POPULATED
203
+
204
+ SELECT count(*) INTO v_rentals
205
+ FROM rental
206
+ WHERE inventory_id = p_inventory_id;
207
+
208
+ IF v_rentals = 0 THEN
209
+ RETURN TRUE;
210
+ END IF;
211
+
212
+ SELECT COUNT(rental_id) INTO v_out
213
+ FROM inventory LEFT JOIN rental USING(inventory_id)
214
+ WHERE inventory.inventory_id = p_inventory_id
215
+ AND rental.return_date IS NULL;
216
+
217
+ IF v_out > 0 THEN
218
+ RETURN FALSE;
219
+ ELSE
220
+ RETURN TRUE;
221
+ END IF;
222
+ END $$;
223
+
224
+
225
+ ALTER FUNCTION public.inventory_in_stock(p_inventory_id integer) OWNER TO postgres;
226
+
227
+ --
228
+ -- Name: last_day(timestamp without time zone); Type: FUNCTION; Schema: public; Owner: postgres
229
+ --
230
+
231
+ CREATE FUNCTION public.last_day(timestamp without time zone) RETURNS date
232
+ LANGUAGE sql IMMUTABLE STRICT
233
+ AS $_$
234
+ SELECT CASE
235
+ WHEN EXTRACT(MONTH FROM $1) = 12 THEN
236
+ (((EXTRACT(YEAR FROM $1) + 1) operator(pg_catalog.||) '-01-01')::date - INTERVAL '1 day')::date
237
+ ELSE
238
+ ((EXTRACT(YEAR FROM $1) operator(pg_catalog.||) '-' operator(pg_catalog.||) (EXTRACT(MONTH FROM $1) + 1) operator(pg_catalog.||) '-01')::date - INTERVAL '1 day')::date
239
+ END
240
+ $_$;
241
+
242
+
243
+ ALTER FUNCTION public.last_day(timestamp without time zone) OWNER TO postgres;
244
+
245
+ --
246
+ -- Name: last_updated(); Type: FUNCTION; Schema: public; Owner: postgres
247
+ --
248
+
249
+ CREATE FUNCTION public.last_updated() RETURNS trigger
250
+ LANGUAGE plpgsql
251
+ AS $$
252
+ BEGIN
253
+ NEW.last_update = CURRENT_TIMESTAMP;
254
+ RETURN NEW;
255
+ END $$;
256
+
257
+
258
+ ALTER FUNCTION public.last_updated() OWNER TO postgres;
259
+
260
+ --
261
+ -- Name: customer_customer_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres
262
+ --
263
+
264
+ CREATE SEQUENCE public.customer_customer_id_seq
265
+ START WITH 1
266
+ INCREMENT BY 1
267
+ NO MINVALUE
268
+ NO MAXVALUE
269
+ CACHE 1;
270
+
271
+
272
+ ALTER TABLE public.customer_customer_id_seq OWNER TO postgres;
273
+
274
+ SET default_tablespace = '';
275
+
276
+ SET default_with_oids = false;
277
+
278
+ --
279
+ -- Name: customer; Type: TABLE; Schema: public; Owner: postgres
280
+ --
281
+
282
+ CREATE TABLE public.customer (
283
+ customer_id integer DEFAULT nextval('public.customer_customer_id_seq'::regclass) NOT NULL,
284
+ store_id smallint NOT NULL,
285
+ first_name character varying(45) NOT NULL,
286
+ last_name character varying(45) NOT NULL,
287
+ email character varying(50),
288
+ address_id smallint NOT NULL,
289
+ activebool boolean DEFAULT true NOT NULL,
290
+ create_date date DEFAULT ('now'::text)::date NOT NULL,
291
+ last_update timestamp without time zone DEFAULT now(),
292
+ active integer
293
+ );
294
+
295
+
296
+ ALTER TABLE public.customer OWNER TO postgres;
297
+
298
+ --
299
+ -- Name: rewards_report(integer, numeric); Type: FUNCTION; Schema: public; Owner: postgres
300
+ --
301
+
302
+ CREATE FUNCTION public.rewards_report(min_monthly_purchases integer, min_dollar_amount_purchased numeric) RETURNS SETOF public.customer
303
+ LANGUAGE plpgsql SECURITY DEFINER
304
+ AS $_$
305
+ DECLARE
306
+ last_month_start DATE;
307
+ last_month_end DATE;
308
+ rr RECORD;
309
+ tmpSQL TEXT;
310
+ BEGIN
311
+
312
+ /* Some sanity checks... */
313
+ IF min_monthly_purchases = 0 THEN
314
+ RAISE EXCEPTION 'Minimum monthly purchases parameter must be > 0';
315
+ END IF;
316
+ IF min_dollar_amount_purchased = 0.00 THEN
317
+ RAISE EXCEPTION 'Minimum monthly dollar amount purchased parameter must be > $0.00';
318
+ END IF;
319
+
320
+ last_month_start := CURRENT_DATE - '3 month'::interval;
321
+ last_month_start := to_date((extract(YEAR FROM last_month_start) || '-' || extract(MONTH FROM last_month_start) || '-01'),'YYYY-MM-DD');
322
+ last_month_end := LAST_DAY(last_month_start);
323
+
324
+ /*
325
+ Create a temporary storage area for Customer IDs.
326
+ */
327
+ CREATE TEMPORARY TABLE tmpCustomer (customer_id INTEGER NOT NULL PRIMARY KEY);
328
+
329
+ /*
330
+ Find all customers meeting the monthly purchase requirements
331
+ */
332
+
333
+ tmpSQL := 'INSERT INTO tmpCustomer (customer_id)
334
+ SELECT p.customer_id
335
+ FROM payment AS p
336
+ WHERE DATE(p.payment_date) BETWEEN '||quote_literal(last_month_start) ||' AND '|| quote_literal(last_month_end) || '
337
+ GROUP BY customer_id
338
+ HAVING SUM(p.amount) > '|| min_dollar_amount_purchased || '
339
+ AND COUNT(customer_id) > ' ||min_monthly_purchases ;
340
+
341
+ EXECUTE tmpSQL;
342
+
343
+ /*
344
+ Output ALL customer information of matching rewardees.
345
+ Customize output as needed.
346
+ */
347
+ FOR rr IN EXECUTE 'SELECT c.* FROM tmpCustomer AS t INNER JOIN customer AS c ON t.customer_id = c.customer_id' LOOP
348
+ RETURN NEXT rr;
349
+ END LOOP;
350
+
351
+ /* Clean up */
352
+ tmpSQL := 'DROP TABLE tmpCustomer';
353
+ EXECUTE tmpSQL;
354
+
355
+ RETURN;
356
+ END
357
+ $_$;
358
+
359
+
360
+ ALTER FUNCTION public.rewards_report(min_monthly_purchases integer, min_dollar_amount_purchased numeric) OWNER TO postgres;
361
+
362
+ --
363
+ -- Name: group_concat(text); Type: AGGREGATE; Schema: public; Owner: postgres
364
+ --
365
+
366
+ CREATE AGGREGATE public.group_concat(text) (
367
+ SFUNC = public._group_concat,
368
+ STYPE = text
369
+ );
370
+
371
+
372
+ ALTER AGGREGATE public.group_concat(text) OWNER TO postgres;
373
+
374
+ --
375
+ -- Name: actor_actor_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres
376
+ --
377
+
378
+ CREATE SEQUENCE public.actor_actor_id_seq
379
+ START WITH 1
380
+ INCREMENT BY 1
381
+ NO MINVALUE
382
+ NO MAXVALUE
383
+ CACHE 1;
384
+
385
+
386
+ ALTER TABLE public.actor_actor_id_seq OWNER TO postgres;
387
+
388
+ --
389
+ -- Name: actor; Type: TABLE; Schema: public; Owner: postgres
390
+ --
391
+
392
+ CREATE TABLE public.actor (
393
+ actor_id integer DEFAULT nextval('public.actor_actor_id_seq'::regclass) NOT NULL,
394
+ first_name character varying(45) NOT NULL,
395
+ last_name character varying(45) NOT NULL,
396
+ last_update timestamp without time zone DEFAULT now() NOT NULL
397
+ );
398
+
399
+
400
+ ALTER TABLE public.actor OWNER TO postgres;
401
+
402
+ --
403
+ -- Name: category_category_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres
404
+ --
405
+
406
+ CREATE SEQUENCE public.category_category_id_seq
407
+ START WITH 1
408
+ INCREMENT BY 1
409
+ NO MINVALUE
410
+ NO MAXVALUE
411
+ CACHE 1;
412
+
413
+
414
+ ALTER TABLE public.category_category_id_seq OWNER TO postgres;
415
+
416
+ --
417
+ -- Name: category; Type: TABLE; Schema: public; Owner: postgres
418
+ --
419
+
420
+ CREATE TABLE public.category (
421
+ category_id integer DEFAULT nextval('public.category_category_id_seq'::regclass) NOT NULL,
422
+ name character varying(25) NOT NULL,
423
+ last_update timestamp without time zone DEFAULT now() NOT NULL
424
+ );
425
+
426
+
427
+ ALTER TABLE public.category OWNER TO postgres;
428
+
429
+ --
430
+ -- Name: film_film_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres
431
+ --
432
+
433
+ CREATE SEQUENCE public.film_film_id_seq
434
+ START WITH 1
435
+ INCREMENT BY 1
436
+ NO MINVALUE
437
+ NO MAXVALUE
438
+ CACHE 1;
439
+
440
+
441
+ ALTER TABLE public.film_film_id_seq OWNER TO postgres;
442
+
443
+ --
444
+ -- Name: film; Type: TABLE; Schema: public; Owner: postgres
445
+ --
446
+
447
+ CREATE TABLE public.film (
448
+ film_id integer DEFAULT nextval('public.film_film_id_seq'::regclass) NOT NULL,
449
+ title character varying(255) NOT NULL,
450
+ description text,
451
+ release_year public.year,
452
+ language_id smallint NOT NULL,
453
+ rental_duration smallint DEFAULT 3 NOT NULL,
454
+ rental_rate numeric(4,2) DEFAULT 4.99 NOT NULL,
455
+ length smallint,
456
+ replacement_cost numeric(5,2) DEFAULT 19.99 NOT NULL,
457
+ rating public.mpaa_rating DEFAULT 'G'::public.mpaa_rating,
458
+ last_update timestamp without time zone DEFAULT now() NOT NULL,
459
+ special_features text[],
460
+ fulltext tsvector NOT NULL
461
+ );
462
+
463
+
464
+ ALTER TABLE public.film OWNER TO postgres;
465
+
466
+ --
467
+ -- Name: film_actor; Type: TABLE; Schema: public; Owner: postgres
468
+ --
469
+
470
+ CREATE TABLE public.film_actor (
471
+ actor_id smallint NOT NULL,
472
+ film_id smallint NOT NULL,
473
+ last_update timestamp without time zone DEFAULT now() NOT NULL
474
+ );
475
+
476
+
477
+ ALTER TABLE public.film_actor OWNER TO postgres;
478
+
479
+ --
480
+ -- Name: film_category; Type: TABLE; Schema: public; Owner: postgres
481
+ --
482
+
483
+ CREATE TABLE public.film_category (
484
+ film_id smallint NOT NULL,
485
+ category_id smallint NOT NULL,
486
+ last_update timestamp without time zone DEFAULT now() NOT NULL
487
+ );
488
+
489
+
490
+ ALTER TABLE public.film_category OWNER TO postgres;
491
+
492
+ --
493
+ -- Name: actor_info; Type: VIEW; Schema: public; Owner: postgres
494
+ --
495
+
496
+ CREATE VIEW public.actor_info AS
497
+ SELECT a.actor_id,
498
+ a.first_name,
499
+ a.last_name,
500
+ public.group_concat(DISTINCT (((c.name)::text || ': '::text) || ( SELECT public.group_concat((f.title)::text) AS group_concat
501
+ FROM ((public.film f
502
+ JOIN public.film_category fc_1 ON ((f.film_id = fc_1.film_id)))
503
+ JOIN public.film_actor fa_1 ON ((f.film_id = fa_1.film_id)))
504
+ WHERE ((fc_1.category_id = c.category_id) AND (fa_1.actor_id = a.actor_id))
505
+ GROUP BY fa_1.actor_id))) AS film_info
506
+ FROM (((public.actor a
507
+ LEFT JOIN public.film_actor fa ON ((a.actor_id = fa.actor_id)))
508
+ LEFT JOIN public.film_category fc ON ((fa.film_id = fc.film_id)))
509
+ LEFT JOIN public.category c ON ((fc.category_id = c.category_id)))
510
+ GROUP BY a.actor_id, a.first_name, a.last_name;
511
+
512
+
513
+ ALTER TABLE public.actor_info OWNER TO postgres;
514
+
515
+ --
516
+ -- Name: address_address_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres
517
+ --
518
+
519
+ CREATE SEQUENCE public.address_address_id_seq
520
+ START WITH 1
521
+ INCREMENT BY 1
522
+ NO MINVALUE
523
+ NO MAXVALUE
524
+ CACHE 1;
525
+
526
+
527
+ ALTER TABLE public.address_address_id_seq OWNER TO postgres;
528
+
529
+ --
530
+ -- Name: address; Type: TABLE; Schema: public; Owner: postgres
531
+ --
532
+
533
+ CREATE TABLE public.address (
534
+ address_id integer DEFAULT nextval('public.address_address_id_seq'::regclass) NOT NULL,
535
+ address character varying(50) NOT NULL,
536
+ address2 character varying(50),
537
+ district character varying(20) NOT NULL,
538
+ city_id smallint NOT NULL,
539
+ postal_code character varying(10),
540
+ phone character varying(20) NOT NULL,
541
+ last_update timestamp without time zone DEFAULT now() NOT NULL
542
+ );
543
+
544
+
545
+ ALTER TABLE public.address OWNER TO postgres;
546
+
547
+ --
548
+ -- Name: city_city_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres
549
+ --
550
+
551
+ CREATE SEQUENCE public.city_city_id_seq
552
+ START WITH 1
553
+ INCREMENT BY 1
554
+ NO MINVALUE
555
+ NO MAXVALUE
556
+ CACHE 1;
557
+
558
+
559
+ ALTER TABLE public.city_city_id_seq OWNER TO postgres;
560
+
561
+ --
562
+ -- Name: city; Type: TABLE; Schema: public; Owner: postgres
563
+ --
564
+
565
+ CREATE TABLE public.city (
566
+ city_id integer DEFAULT nextval('public.city_city_id_seq'::regclass) NOT NULL,
567
+ city character varying(50) NOT NULL,
568
+ country_id smallint NOT NULL,
569
+ last_update timestamp without time zone DEFAULT now() NOT NULL
570
+ );
571
+
572
+
573
+ ALTER TABLE public.city OWNER TO postgres;
574
+
575
+ --
576
+ -- Name: country_country_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres
577
+ --
578
+
579
+ CREATE SEQUENCE public.country_country_id_seq
580
+ START WITH 1
581
+ INCREMENT BY 1
582
+ NO MINVALUE
583
+ NO MAXVALUE
584
+ CACHE 1;
585
+
586
+
587
+ ALTER TABLE public.country_country_id_seq OWNER TO postgres;
588
+
589
+ --
590
+ -- Name: country; Type: TABLE; Schema: public; Owner: postgres
591
+ --
592
+
593
+ CREATE TABLE public.country (
594
+ country_id integer DEFAULT nextval('public.country_country_id_seq'::regclass) NOT NULL,
595
+ country character varying(50) NOT NULL,
596
+ last_update timestamp without time zone DEFAULT now() NOT NULL
597
+ );
598
+
599
+
600
+ ALTER TABLE public.country OWNER TO postgres;
601
+
602
+ --
603
+ -- Name: customer_list; Type: VIEW; Schema: public; Owner: postgres
604
+ --
605
+
606
+ CREATE VIEW public.customer_list AS
607
+ SELECT cu.customer_id AS id,
608
+ (((cu.first_name)::text || ' '::text) || (cu.last_name)::text) AS name,
609
+ a.address,
610
+ a.postal_code AS "zip code",
611
+ a.phone,
612
+ city.city,
613
+ country.country,
614
+ CASE
615
+ WHEN cu.activebool THEN 'active'::text
616
+ ELSE ''::text
617
+ END AS notes,
618
+ cu.store_id AS sid
619
+ FROM (((public.customer cu
620
+ JOIN public.address a ON ((cu.address_id = a.address_id)))
621
+ JOIN public.city ON ((a.city_id = city.city_id)))
622
+ JOIN public.country ON ((city.country_id = country.country_id)));
623
+
624
+
625
+ ALTER TABLE public.customer_list OWNER TO postgres;
626
+
627
+ --
628
+ -- Name: film_list; Type: VIEW; Schema: public; Owner: postgres
629
+ --
630
+
631
+ CREATE VIEW public.film_list AS
632
+ SELECT film.film_id AS fid,
633
+ film.title,
634
+ film.description,
635
+ category.name AS category,
636
+ film.rental_rate AS price,
637
+ film.length,
638
+ film.rating,
639
+ public.group_concat((((actor.first_name)::text || ' '::text) || (actor.last_name)::text)) AS actors
640
+ FROM ((((public.category
641
+ LEFT JOIN public.film_category ON ((category.category_id = film_category.category_id)))
642
+ LEFT JOIN public.film ON ((film_category.film_id = film.film_id)))
643
+ JOIN public.film_actor ON ((film.film_id = film_actor.film_id)))
644
+ JOIN public.actor ON ((film_actor.actor_id = actor.actor_id)))
645
+ GROUP BY film.film_id, film.title, film.description, category.name, film.rental_rate, film.length, film.rating;
646
+
647
+
648
+ ALTER TABLE public.film_list OWNER TO postgres;
649
+
650
+ --
651
+ -- Name: inventory_inventory_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres
652
+ --
653
+
654
+ CREATE SEQUENCE public.inventory_inventory_id_seq
655
+ START WITH 1
656
+ INCREMENT BY 1
657
+ NO MINVALUE
658
+ NO MAXVALUE
659
+ CACHE 1;
660
+
661
+
662
+ ALTER TABLE public.inventory_inventory_id_seq OWNER TO postgres;
663
+
664
+ --
665
+ -- Name: inventory; Type: TABLE; Schema: public; Owner: postgres
666
+ --
667
+
668
+ CREATE TABLE public.inventory (
669
+ inventory_id integer DEFAULT nextval('public.inventory_inventory_id_seq'::regclass) NOT NULL,
670
+ film_id smallint NOT NULL,
671
+ store_id smallint NOT NULL,
672
+ last_update timestamp without time zone DEFAULT now() NOT NULL
673
+ );
674
+
675
+
676
+ ALTER TABLE public.inventory OWNER TO postgres;
677
+
678
+ --
679
+ -- Name: language_language_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres
680
+ --
681
+
682
+ CREATE SEQUENCE public.language_language_id_seq
683
+ START WITH 1
684
+ INCREMENT BY 1
685
+ NO MINVALUE
686
+ NO MAXVALUE
687
+ CACHE 1;
688
+
689
+
690
+ ALTER TABLE public.language_language_id_seq OWNER TO postgres;
691
+
692
+ --
693
+ -- Name: language; Type: TABLE; Schema: public; Owner: postgres
694
+ --
695
+
696
+ CREATE TABLE public.language (
697
+ language_id integer DEFAULT nextval('public.language_language_id_seq'::regclass) NOT NULL,
698
+ name character(20) NOT NULL,
699
+ last_update timestamp without time zone DEFAULT now() NOT NULL
700
+ );
701
+
702
+
703
+ ALTER TABLE public.language OWNER TO postgres;
704
+
705
+ --
706
+ -- Name: nicer_but_slower_film_list; Type: VIEW; Schema: public; Owner: postgres
707
+ --
708
+
709
+ CREATE VIEW public.nicer_but_slower_film_list AS
710
+ SELECT film.film_id AS fid,
711
+ film.title,
712
+ film.description,
713
+ category.name AS category,
714
+ film.rental_rate AS price,
715
+ film.length,
716
+ film.rating,
717
+ public.group_concat((((upper("substring"((actor.first_name)::text, 1, 1)) || lower("substring"((actor.first_name)::text, 2))) || upper("substring"((actor.last_name)::text, 1, 1))) || lower("substring"((actor.last_name)::text, 2)))) AS actors
718
+ FROM ((((public.category
719
+ LEFT JOIN public.film_category ON ((category.category_id = film_category.category_id)))
720
+ LEFT JOIN public.film ON ((film_category.film_id = film.film_id)))
721
+ JOIN public.film_actor ON ((film.film_id = film_actor.film_id)))
722
+ JOIN public.actor ON ((film_actor.actor_id = actor.actor_id)))
723
+ GROUP BY film.film_id, film.title, film.description, category.name, film.rental_rate, film.length, film.rating;
724
+
725
+
726
+ ALTER TABLE public.nicer_but_slower_film_list OWNER TO postgres;
727
+
728
+ --
729
+ -- Name: payment_payment_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres
730
+ --
731
+
732
+ CREATE SEQUENCE public.payment_payment_id_seq
733
+ START WITH 1
734
+ INCREMENT BY 1
735
+ NO MINVALUE
736
+ NO MAXVALUE
737
+ CACHE 1;
738
+
739
+
740
+ ALTER TABLE public.payment_payment_id_seq OWNER TO postgres;
741
+
742
+ --
743
+ -- Name: payment; Type: TABLE; Schema: public; Owner: postgres
744
+ --
745
+
746
+ CREATE TABLE public.payment (
747
+ payment_id integer DEFAULT nextval('public.payment_payment_id_seq'::regclass) NOT NULL,
748
+ customer_id smallint NOT NULL,
749
+ staff_id smallint NOT NULL,
750
+ rental_id integer NOT NULL,
751
+ amount numeric(5,2) NOT NULL,
752
+ payment_date timestamp without time zone NOT NULL
753
+ );
754
+
755
+
756
+ ALTER TABLE public.payment OWNER TO postgres;
757
+
758
+ --
759
+ -- Name: rental_rental_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres
760
+ --
761
+
762
+ CREATE SEQUENCE public.rental_rental_id_seq
763
+ START WITH 1
764
+ INCREMENT BY 1
765
+ NO MINVALUE
766
+ NO MAXVALUE
767
+ CACHE 1;
768
+
769
+
770
+ ALTER TABLE public.rental_rental_id_seq OWNER TO postgres;
771
+
772
+ --
773
+ -- Name: rental; Type: TABLE; Schema: public; Owner: postgres
774
+ --
775
+
776
+ CREATE TABLE public.rental (
777
+ rental_id integer DEFAULT nextval('public.rental_rental_id_seq'::regclass) NOT NULL,
778
+ rental_date timestamp without time zone NOT NULL,
779
+ inventory_id integer NOT NULL,
780
+ customer_id smallint NOT NULL,
781
+ return_date timestamp without time zone,
782
+ staff_id smallint NOT NULL,
783
+ last_update timestamp without time zone DEFAULT now() NOT NULL
784
+ );
785
+
786
+
787
+ ALTER TABLE public.rental OWNER TO postgres;
788
+
789
+ --
790
+ -- Name: sales_by_film_category; Type: VIEW; Schema: public; Owner: postgres
791
+ --
792
+
793
+ CREATE VIEW public.sales_by_film_category AS
794
+ SELECT c.name AS category,
795
+ sum(p.amount) AS total_sales
796
+ FROM (((((public.payment p
797
+ JOIN public.rental r ON ((p.rental_id = r.rental_id)))
798
+ JOIN public.inventory i ON ((r.inventory_id = i.inventory_id)))
799
+ JOIN public.film f ON ((i.film_id = f.film_id)))
800
+ JOIN public.film_category fc ON ((f.film_id = fc.film_id)))
801
+ JOIN public.category c ON ((fc.category_id = c.category_id)))
802
+ GROUP BY c.name
803
+ ORDER BY (sum(p.amount)) DESC;
804
+
805
+
806
+ ALTER TABLE public.sales_by_film_category OWNER TO postgres;
807
+
808
+ --
809
+ -- Name: staff_staff_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres
810
+ --
811
+
812
+ CREATE SEQUENCE public.staff_staff_id_seq
813
+ START WITH 1
814
+ INCREMENT BY 1
815
+ NO MINVALUE
816
+ NO MAXVALUE
817
+ CACHE 1;
818
+
819
+
820
+ ALTER TABLE public.staff_staff_id_seq OWNER TO postgres;
821
+
822
+ --
823
+ -- Name: staff; Type: TABLE; Schema: public; Owner: postgres
824
+ --
825
+
826
+ CREATE TABLE public.staff (
827
+ staff_id integer DEFAULT nextval('public.staff_staff_id_seq'::regclass) NOT NULL,
828
+ first_name character varying(45) NOT NULL,
829
+ last_name character varying(45) NOT NULL,
830
+ address_id smallint NOT NULL,
831
+ email character varying(50),
832
+ store_id smallint NOT NULL,
833
+ active boolean DEFAULT true NOT NULL,
834
+ username character varying(16) NOT NULL,
835
+ password character varying(40),
836
+ last_update timestamp without time zone DEFAULT now() NOT NULL,
837
+ picture bytea
838
+ );
839
+
840
+
841
+ ALTER TABLE public.staff OWNER TO postgres;
842
+
843
+ --
844
+ -- Name: store_store_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres
845
+ --
846
+
847
+ CREATE SEQUENCE public.store_store_id_seq
848
+ START WITH 1
849
+ INCREMENT BY 1
850
+ NO MINVALUE
851
+ NO MAXVALUE
852
+ CACHE 1;
853
+
854
+
855
+ ALTER TABLE public.store_store_id_seq OWNER TO postgres;
856
+
857
+ --
858
+ -- Name: store; Type: TABLE; Schema: public; Owner: postgres
859
+ --
860
+
861
+ CREATE TABLE public.store (
862
+ store_id integer DEFAULT nextval('public.store_store_id_seq'::regclass) NOT NULL,
863
+ manager_staff_id smallint NOT NULL,
864
+ address_id smallint NOT NULL,
865
+ last_update timestamp without time zone DEFAULT now() NOT NULL
866
+ );
867
+
868
+
869
+ ALTER TABLE public.store OWNER TO postgres;
870
+
871
+ --
872
+ -- Name: sales_by_store; Type: VIEW; Schema: public; Owner: postgres
873
+ --
874
+
875
+ CREATE VIEW public.sales_by_store AS
876
+ SELECT (((c.city)::text || ','::text) || (cy.country)::text) AS store,
877
+ (((m.first_name)::text || ' '::text) || (m.last_name)::text) AS manager,
878
+ sum(p.amount) AS total_sales
879
+ FROM (((((((public.payment p
880
+ JOIN public.rental r ON ((p.rental_id = r.rental_id)))
881
+ JOIN public.inventory i ON ((r.inventory_id = i.inventory_id)))
882
+ JOIN public.store s ON ((i.store_id = s.store_id)))
883
+ JOIN public.address a ON ((s.address_id = a.address_id)))
884
+ JOIN public.city c ON ((a.city_id = c.city_id)))
885
+ JOIN public.country cy ON ((c.country_id = cy.country_id)))
886
+ JOIN public.staff m ON ((s.manager_staff_id = m.staff_id)))
887
+ GROUP BY cy.country, c.city, s.store_id, m.first_name, m.last_name
888
+ ORDER BY cy.country, c.city;
889
+
890
+
891
+ ALTER TABLE public.sales_by_store OWNER TO postgres;
892
+
893
+ --
894
+ -- Name: staff_list; Type: VIEW; Schema: public; Owner: postgres
895
+ --
896
+
897
+ CREATE VIEW public.staff_list AS
898
+ SELECT s.staff_id AS id,
899
+ (((s.first_name)::text || ' '::text) || (s.last_name)::text) AS name,
900
+ a.address,
901
+ a.postal_code AS "zip code",
902
+ a.phone,
903
+ city.city,
904
+ country.country,
905
+ s.store_id AS sid
906
+ FROM (((public.staff s
907
+ JOIN public.address a ON ((s.address_id = a.address_id)))
908
+ JOIN public.city ON ((a.city_id = city.city_id)))
909
+ JOIN public.country ON ((city.country_id = country.country_id)));
910
+
911
+
912
+ ALTER TABLE public.staff_list OWNER TO postgres;
913
+
914
+ --
915
+ -- Data for Name: actor; Type: TABLE DATA; Schema: public; Owner: postgres
916
+ --
917
+
918
+ COPY public.actor (actor_id, first_name, last_name, last_update) FROM stdin;
919
+ \.
920
+ COPY public.actor (actor_id, first_name, last_name, last_update) FROM '/var/lib/postgresql/bump/3057.dat';
921
+
922
+ --
923
+ -- Data for Name: address; Type: TABLE DATA; Schema: public; Owner: postgres
924
+ --
925
+
926
+ COPY public.address (address_id, address, address2, district, city_id, postal_code, phone, last_update) FROM stdin;
927
+ \.
928
+ COPY public.address (address_id, address, address2, district, city_id, postal_code, phone, last_update) FROM '/var/lib/postgresql/bump/3065.dat';
929
+
930
+ --
931
+ -- Data for Name: category; Type: TABLE DATA; Schema: public; Owner: postgres
932
+ --
933
+
934
+ COPY public.category (category_id, name, last_update) FROM stdin;
935
+ \.
936
+ COPY public.category (category_id, name, last_update) FROM '/var/lib/postgresql/bump/3059.dat';
937
+
938
+ --
939
+ -- Data for Name: city; Type: TABLE DATA; Schema: public; Owner: postgres
940
+ --
941
+
942
+ COPY public.city (city_id, city, country_id, last_update) FROM stdin;
943
+ \.
944
+ COPY public.city (city_id, city, country_id, last_update) FROM '/var/lib/postgresql/bump/3067.dat';
945
+
946
+ --
947
+ -- Data for Name: country; Type: TABLE DATA; Schema: public; Owner: postgres
948
+ --
949
+
950
+ COPY public.country (country_id, country, last_update) FROM stdin;
951
+ \.
952
+ COPY public.country (country_id, country, last_update) FROM '/var/lib/postgresql/bump/3069.dat';
953
+
954
+ --
955
+ -- Data for Name: customer; Type: TABLE DATA; Schema: public; Owner: postgres
956
+ --
957
+
958
+ COPY public.customer (customer_id, store_id, first_name, last_name, email, address_id, activebool, create_date, last_update, active) FROM stdin;
959
+ \.
960
+ COPY public.customer (customer_id, store_id, first_name, last_name, email, address_id, activebool, create_date, last_update, active) FROM '/var/lib/postgresql/bump/3055.dat';
961
+
962
+ --
963
+ -- Data for Name: film; Type: TABLE DATA; Schema: public; Owner: postgres
964
+ --
965
+
966
+ COPY public.film (film_id, title, description, release_year, language_id, rental_duration, rental_rate, length, replacement_cost, rating, last_update, special_features, fulltext) FROM stdin;
967
+ \.
968
+ COPY public.film (film_id, title, description, release_year, language_id, rental_duration, rental_rate, length, replacement_cost, rating, last_update, special_features, fulltext) FROM '/var/lib/postgresql/bump/3061.dat';
969
+
970
+ --
971
+ -- Data for Name: film_actor; Type: TABLE DATA; Schema: public; Owner: postgres
972
+ --
973
+
974
+ COPY public.film_actor (actor_id, film_id, last_update) FROM stdin;
975
+ \.
976
+ COPY public.film_actor (actor_id, film_id, last_update) FROM '/var/lib/postgresql/bump/3062.dat';
977
+
978
+ --
979
+ -- Data for Name: film_category; Type: TABLE DATA; Schema: public; Owner: postgres
980
+ --
981
+
982
+ COPY public.film_category (film_id, category_id, last_update) FROM stdin;
983
+ \.
984
+ COPY public.film_category (film_id, category_id, last_update) FROM '/var/lib/postgresql/bump/3063.dat';
985
+
986
+ --
987
+ -- Data for Name: inventory; Type: TABLE DATA; Schema: public; Owner: postgres
988
+ --
989
+
990
+ COPY public.inventory (inventory_id, film_id, store_id, last_update) FROM stdin;
991
+ \.
992
+ COPY public.inventory (inventory_id, film_id, store_id, last_update) FROM '/var/lib/postgresql/bump/3071.dat';
993
+
994
+ --
995
+ -- Data for Name: language; Type: TABLE DATA; Schema: public; Owner: postgres
996
+ --
997
+
998
+ COPY public.language (language_id, name, last_update) FROM stdin;
999
+ \.
1000
+ COPY public.language (language_id, name, last_update) FROM '/var/lib/postgresql/bump/3073.dat';
1001
+
1002
+ --
1003
+ -- Data for Name: payment; Type: TABLE DATA; Schema: public; Owner: postgres
1004
+ --
1005
+
1006
+ COPY public.payment (payment_id, customer_id, staff_id, rental_id, amount, payment_date) FROM stdin;
1007
+ \.
1008
+ COPY public.payment (payment_id, customer_id, staff_id, rental_id, amount, payment_date) FROM '/var/lib/postgresql/bump/3075.dat';
1009
+
1010
+ --
1011
+ -- Data for Name: rental; Type: TABLE DATA; Schema: public; Owner: postgres
1012
+ --
1013
+
1014
+ COPY public.rental (rental_id, rental_date, inventory_id, customer_id, return_date, staff_id, last_update) FROM stdin;
1015
+ \.
1016
+ COPY public.rental (rental_id, rental_date, inventory_id, customer_id, return_date, staff_id, last_update) FROM '/var/lib/postgresql/bump/3077.dat';
1017
+
1018
+ --
1019
+ -- Data for Name: staff; Type: TABLE DATA; Schema: public; Owner: postgres
1020
+ --
1021
+
1022
+ COPY public.staff (staff_id, first_name, last_name, address_id, email, store_id, active, username, password, last_update, picture) FROM stdin;
1023
+ \.
1024
+ COPY public.staff (staff_id, first_name, last_name, address_id, email, store_id, active, username, password, last_update, picture) FROM '/var/lib/postgresql/bump/3079.dat';
1025
+
1026
+ --
1027
+ -- Data for Name: store; Type: TABLE DATA; Schema: public; Owner: postgres
1028
+ --
1029
+
1030
+ COPY public.store (store_id, manager_staff_id, address_id, last_update) FROM stdin;
1031
+ \.
1032
+ COPY public.store (store_id, manager_staff_id, address_id, last_update) FROM '/var/lib/postgresql/bump/3081.dat';
1033
+
1034
+ --
1035
+ -- Name: actor_actor_id_seq; Type: SEQUENCE SET; Schema: public; Owner: postgres
1036
+ --
1037
+
1038
+ SELECT pg_catalog.setval('public.actor_actor_id_seq', 200, true);
1039
+
1040
+
1041
+ --
1042
+ -- Name: address_address_id_seq; Type: SEQUENCE SET; Schema: public; Owner: postgres
1043
+ --
1044
+
1045
+ SELECT pg_catalog.setval('public.address_address_id_seq', 605, true);
1046
+
1047
+
1048
+ --
1049
+ -- Name: category_category_id_seq; Type: SEQUENCE SET; Schema: public; Owner: postgres
1050
+ --
1051
+
1052
+ SELECT pg_catalog.setval('public.category_category_id_seq', 16, true);
1053
+
1054
+
1055
+ --
1056
+ -- Name: city_city_id_seq; Type: SEQUENCE SET; Schema: public; Owner: postgres
1057
+ --
1058
+
1059
+ SELECT pg_catalog.setval('public.city_city_id_seq', 600, true);
1060
+
1061
+
1062
+ --
1063
+ -- Name: country_country_id_seq; Type: SEQUENCE SET; Schema: public; Owner: postgres
1064
+ --
1065
+
1066
+ SELECT pg_catalog.setval('public.country_country_id_seq', 109, true);
1067
+
1068
+
1069
+ --
1070
+ -- Name: customer_customer_id_seq; Type: SEQUENCE SET; Schema: public; Owner: postgres
1071
+ --
1072
+
1073
+ SELECT pg_catalog.setval('public.customer_customer_id_seq', 599, true);
1074
+
1075
+
1076
+ --
1077
+ -- Name: film_film_id_seq; Type: SEQUENCE SET; Schema: public; Owner: postgres
1078
+ --
1079
+
1080
+ SELECT pg_catalog.setval('public.film_film_id_seq', 1000, true);
1081
+
1082
+
1083
+ --
1084
+ -- Name: inventory_inventory_id_seq; Type: SEQUENCE SET; Schema: public; Owner: postgres
1085
+ --
1086
+
1087
+ SELECT pg_catalog.setval('public.inventory_inventory_id_seq', 4581, true);
1088
+
1089
+
1090
+ --
1091
+ -- Name: language_language_id_seq; Type: SEQUENCE SET; Schema: public; Owner: postgres
1092
+ --
1093
+
1094
+ SELECT pg_catalog.setval('public.language_language_id_seq', 6, true);
1095
+
1096
+
1097
+ --
1098
+ -- Name: payment_payment_id_seq; Type: SEQUENCE SET; Schema: public; Owner: postgres
1099
+ --
1100
+
1101
+ SELECT pg_catalog.setval('public.payment_payment_id_seq', 32098, true);
1102
+
1103
+
1104
+ --
1105
+ -- Name: rental_rental_id_seq; Type: SEQUENCE SET; Schema: public; Owner: postgres
1106
+ --
1107
+
1108
+ SELECT pg_catalog.setval('public.rental_rental_id_seq', 16049, true);
1109
+
1110
+
1111
+ --
1112
+ -- Name: staff_staff_id_seq; Type: SEQUENCE SET; Schema: public; Owner: postgres
1113
+ --
1114
+
1115
+ SELECT pg_catalog.setval('public.staff_staff_id_seq', 2, true);
1116
+
1117
+
1118
+ --
1119
+ -- Name: store_store_id_seq; Type: SEQUENCE SET; Schema: public; Owner: postgres
1120
+ --
1121
+
1122
+ SELECT pg_catalog.setval('public.store_store_id_seq', 2, true);
1123
+
1124
+
1125
+ --
1126
+ -- Name: actor actor_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres
1127
+ --
1128
+
1129
+ ALTER TABLE ONLY public.actor
1130
+ ADD CONSTRAINT actor_pkey PRIMARY KEY (actor_id);
1131
+
1132
+
1133
+ --
1134
+ -- Name: address address_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres
1135
+ --
1136
+
1137
+ ALTER TABLE ONLY public.address
1138
+ ADD CONSTRAINT address_pkey PRIMARY KEY (address_id);
1139
+
1140
+
1141
+ --
1142
+ -- Name: category category_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres
1143
+ --
1144
+
1145
+ ALTER TABLE ONLY public.category
1146
+ ADD CONSTRAINT category_pkey PRIMARY KEY (category_id);
1147
+
1148
+
1149
+ --
1150
+ -- Name: city city_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres
1151
+ --
1152
+
1153
+ ALTER TABLE ONLY public.city
1154
+ ADD CONSTRAINT city_pkey PRIMARY KEY (city_id);
1155
+
1156
+
1157
+ --
1158
+ -- Name: country country_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres
1159
+ --
1160
+
1161
+ ALTER TABLE ONLY public.country
1162
+ ADD CONSTRAINT country_pkey PRIMARY KEY (country_id);
1163
+
1164
+
1165
+ --
1166
+ -- Name: customer customer_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres
1167
+ --
1168
+
1169
+ ALTER TABLE ONLY public.customer
1170
+ ADD CONSTRAINT customer_pkey PRIMARY KEY (customer_id);
1171
+
1172
+
1173
+ --
1174
+ -- Name: film_actor film_actor_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres
1175
+ --
1176
+
1177
+ ALTER TABLE ONLY public.film_actor
1178
+ ADD CONSTRAINT film_actor_pkey PRIMARY KEY (actor_id, film_id);
1179
+
1180
+
1181
+ --
1182
+ -- Name: film_category film_category_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres
1183
+ --
1184
+
1185
+ ALTER TABLE ONLY public.film_category
1186
+ ADD CONSTRAINT film_category_pkey PRIMARY KEY (film_id, category_id);
1187
+
1188
+
1189
+ --
1190
+ -- Name: film film_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres
1191
+ --
1192
+
1193
+ ALTER TABLE ONLY public.film
1194
+ ADD CONSTRAINT film_pkey PRIMARY KEY (film_id);
1195
+
1196
+
1197
+ --
1198
+ -- Name: inventory inventory_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres
1199
+ --
1200
+
1201
+ ALTER TABLE ONLY public.inventory
1202
+ ADD CONSTRAINT inventory_pkey PRIMARY KEY (inventory_id);
1203
+
1204
+
1205
+ --
1206
+ -- Name: language language_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres
1207
+ --
1208
+
1209
+ ALTER TABLE ONLY public.language
1210
+ ADD CONSTRAINT language_pkey PRIMARY KEY (language_id);
1211
+
1212
+
1213
+ --
1214
+ -- Name: payment payment_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres
1215
+ --
1216
+
1217
+ ALTER TABLE ONLY public.payment
1218
+ ADD CONSTRAINT payment_pkey PRIMARY KEY (payment_id);
1219
+
1220
+
1221
+ --
1222
+ -- Name: rental rental_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres
1223
+ --
1224
+
1225
+ ALTER TABLE ONLY public.rental
1226
+ ADD CONSTRAINT rental_pkey PRIMARY KEY (rental_id);
1227
+
1228
+
1229
+ --
1230
+ -- Name: staff staff_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres
1231
+ --
1232
+
1233
+ ALTER TABLE ONLY public.staff
1234
+ ADD CONSTRAINT staff_pkey PRIMARY KEY (staff_id);
1235
+
1236
+
1237
+ --
1238
+ -- Name: store store_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres
1239
+ --
1240
+
1241
+ ALTER TABLE ONLY public.store
1242
+ ADD CONSTRAINT store_pkey PRIMARY KEY (store_id);
1243
+
1244
+
1245
+ --
1246
+ -- Name: film_fulltext_idx; Type: INDEX; Schema: public; Owner: postgres
1247
+ --
1248
+
1249
+ CREATE INDEX film_fulltext_idx ON public.film USING gist (fulltext);
1250
+
1251
+
1252
+ --
1253
+ -- Name: idx_actor_last_name; Type: INDEX; Schema: public; Owner: postgres
1254
+ --
1255
+
1256
+ CREATE INDEX idx_actor_last_name ON public.actor USING btree (last_name);
1257
+
1258
+
1259
+ --
1260
+ -- Name: idx_fk_address_id; Type: INDEX; Schema: public; Owner: postgres
1261
+ --
1262
+
1263
+ CREATE INDEX idx_fk_address_id ON public.customer USING btree (address_id);
1264
+
1265
+
1266
+ --
1267
+ -- Name: idx_fk_city_id; Type: INDEX; Schema: public; Owner: postgres
1268
+ --
1269
+
1270
+ CREATE INDEX idx_fk_city_id ON public.address USING btree (city_id);
1271
+
1272
+
1273
+ --
1274
+ -- Name: idx_fk_country_id; Type: INDEX; Schema: public; Owner: postgres
1275
+ --
1276
+
1277
+ CREATE INDEX idx_fk_country_id ON public.city USING btree (country_id);
1278
+
1279
+
1280
+ --
1281
+ -- Name: idx_fk_customer_id; Type: INDEX; Schema: public; Owner: postgres
1282
+ --
1283
+
1284
+ CREATE INDEX idx_fk_customer_id ON public.payment USING btree (customer_id);
1285
+
1286
+
1287
+ --
1288
+ -- Name: idx_fk_film_id; Type: INDEX; Schema: public; Owner: postgres
1289
+ --
1290
+
1291
+ CREATE INDEX idx_fk_film_id ON public.film_actor USING btree (film_id);
1292
+
1293
+
1294
+ --
1295
+ -- Name: idx_fk_inventory_id; Type: INDEX; Schema: public; Owner: postgres
1296
+ --
1297
+
1298
+ CREATE INDEX idx_fk_inventory_id ON public.rental USING btree (inventory_id);
1299
+
1300
+
1301
+ --
1302
+ -- Name: idx_fk_language_id; Type: INDEX; Schema: public; Owner: postgres
1303
+ --
1304
+
1305
+ CREATE INDEX idx_fk_language_id ON public.film USING btree (language_id);
1306
+
1307
+
1308
+ --
1309
+ -- Name: idx_fk_rental_id; Type: INDEX; Schema: public; Owner: postgres
1310
+ --
1311
+
1312
+ CREATE INDEX idx_fk_rental_id ON public.payment USING btree (rental_id);
1313
+
1314
+
1315
+ --
1316
+ -- Name: idx_fk_staff_id; Type: INDEX; Schema: public; Owner: postgres
1317
+ --
1318
+
1319
+ CREATE INDEX idx_fk_staff_id ON public.payment USING btree (staff_id);
1320
+
1321
+
1322
+ --
1323
+ -- Name: idx_fk_store_id; Type: INDEX; Schema: public; Owner: postgres
1324
+ --
1325
+
1326
+ CREATE INDEX idx_fk_store_id ON public.customer USING btree (store_id);
1327
+
1328
+
1329
+ --
1330
+ -- Name: idx_last_name; Type: INDEX; Schema: public; Owner: postgres
1331
+ --
1332
+
1333
+ CREATE INDEX idx_last_name ON public.customer USING btree (last_name);
1334
+
1335
+
1336
+ --
1337
+ -- Name: idx_store_id_film_id; Type: INDEX; Schema: public; Owner: postgres
1338
+ --
1339
+
1340
+ CREATE INDEX idx_store_id_film_id ON public.inventory USING btree (store_id, film_id);
1341
+
1342
+
1343
+ --
1344
+ -- Name: idx_title; Type: INDEX; Schema: public; Owner: postgres
1345
+ --
1346
+
1347
+ CREATE INDEX idx_title ON public.film USING btree (title);
1348
+
1349
+
1350
+ --
1351
+ -- Name: idx_unq_manager_staff_id; Type: INDEX; Schema: public; Owner: postgres
1352
+ --
1353
+
1354
+ CREATE UNIQUE INDEX idx_unq_manager_staff_id ON public.store USING btree (manager_staff_id);
1355
+
1356
+
1357
+ --
1358
+ -- Name: idx_unq_rental_rental_date_inventory_id_customer_id; Type: INDEX; Schema: public; Owner: postgres
1359
+ --
1360
+
1361
+ CREATE UNIQUE INDEX idx_unq_rental_rental_date_inventory_id_customer_id ON public.rental USING btree (rental_date, inventory_id, customer_id);
1362
+
1363
+
1364
+ --
1365
+ -- Name: film film_fulltext_trigger; Type: TRIGGER; Schema: public; Owner: postgres
1366
+ --
1367
+
1368
+ CREATE TRIGGER film_fulltext_trigger BEFORE INSERT OR UPDATE ON public.film FOR EACH ROW EXECUTE PROCEDURE tsvector_update_trigger('fulltext', 'pg_catalog.english', 'title', 'description');
1369
+
1370
+
1371
+ --
1372
+ -- Name: actor last_updated; Type: TRIGGER; Schema: public; Owner: postgres
1373
+ --
1374
+
1375
+ CREATE TRIGGER last_updated BEFORE UPDATE ON public.actor FOR EACH ROW EXECUTE PROCEDURE public.last_updated();
1376
+
1377
+
1378
+ --
1379
+ -- Name: address last_updated; Type: TRIGGER; Schema: public; Owner: postgres
1380
+ --
1381
+
1382
+ CREATE TRIGGER last_updated BEFORE UPDATE ON public.address FOR EACH ROW EXECUTE PROCEDURE public.last_updated();
1383
+
1384
+
1385
+ --
1386
+ -- Name: category last_updated; Type: TRIGGER; Schema: public; Owner: postgres
1387
+ --
1388
+
1389
+ CREATE TRIGGER last_updated BEFORE UPDATE ON public.category FOR EACH ROW EXECUTE PROCEDURE public.last_updated();
1390
+
1391
+
1392
+ --
1393
+ -- Name: city last_updated; Type: TRIGGER; Schema: public; Owner: postgres
1394
+ --
1395
+
1396
+ CREATE TRIGGER last_updated BEFORE UPDATE ON public.city FOR EACH ROW EXECUTE PROCEDURE public.last_updated();
1397
+
1398
+
1399
+ --
1400
+ -- Name: country last_updated; Type: TRIGGER; Schema: public; Owner: postgres
1401
+ --
1402
+
1403
+ CREATE TRIGGER last_updated BEFORE UPDATE ON public.country FOR EACH ROW EXECUTE PROCEDURE public.last_updated();
1404
+
1405
+
1406
+ --
1407
+ -- Name: customer last_updated; Type: TRIGGER; Schema: public; Owner: postgres
1408
+ --
1409
+
1410
+ CREATE TRIGGER last_updated BEFORE UPDATE ON public.customer FOR EACH ROW EXECUTE PROCEDURE public.last_updated();
1411
+
1412
+
1413
+ --
1414
+ -- Name: film last_updated; Type: TRIGGER; Schema: public; Owner: postgres
1415
+ --
1416
+
1417
+ CREATE TRIGGER last_updated BEFORE UPDATE ON public.film FOR EACH ROW EXECUTE PROCEDURE public.last_updated();
1418
+
1419
+
1420
+ --
1421
+ -- Name: film_actor last_updated; Type: TRIGGER; Schema: public; Owner: postgres
1422
+ --
1423
+
1424
+ CREATE TRIGGER last_updated BEFORE UPDATE ON public.film_actor FOR EACH ROW EXECUTE PROCEDURE public.last_updated();
1425
+
1426
+
1427
+ --
1428
+ -- Name: film_category last_updated; Type: TRIGGER; Schema: public; Owner: postgres
1429
+ --
1430
+
1431
+ CREATE TRIGGER last_updated BEFORE UPDATE ON public.film_category FOR EACH ROW EXECUTE PROCEDURE public.last_updated();
1432
+
1433
+
1434
+ --
1435
+ -- Name: inventory last_updated; Type: TRIGGER; Schema: public; Owner: postgres
1436
+ --
1437
+
1438
+ CREATE TRIGGER last_updated BEFORE UPDATE ON public.inventory FOR EACH ROW EXECUTE PROCEDURE public.last_updated();
1439
+
1440
+
1441
+ --
1442
+ -- Name: language last_updated; Type: TRIGGER; Schema: public; Owner: postgres
1443
+ --
1444
+
1445
+ CREATE TRIGGER last_updated BEFORE UPDATE ON public.language FOR EACH ROW EXECUTE PROCEDURE public.last_updated();
1446
+
1447
+
1448
+ --
1449
+ -- Name: rental last_updated; Type: TRIGGER; Schema: public; Owner: postgres
1450
+ --
1451
+
1452
+ CREATE TRIGGER last_updated BEFORE UPDATE ON public.rental FOR EACH ROW EXECUTE PROCEDURE public.last_updated();
1453
+
1454
+
1455
+ --
1456
+ -- Name: staff last_updated; Type: TRIGGER; Schema: public; Owner: postgres
1457
+ --
1458
+
1459
+ CREATE TRIGGER last_updated BEFORE UPDATE ON public.staff FOR EACH ROW EXECUTE PROCEDURE public.last_updated();
1460
+
1461
+
1462
+ --
1463
+ -- Name: store last_updated; Type: TRIGGER; Schema: public; Owner: postgres
1464
+ --
1465
+
1466
+ CREATE TRIGGER last_updated BEFORE UPDATE ON public.store FOR EACH ROW EXECUTE PROCEDURE public.last_updated();
1467
+
1468
+
1469
+ --
1470
+ -- Name: customer customer_address_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres
1471
+ --
1472
+
1473
+ ALTER TABLE ONLY public.customer
1474
+ ADD CONSTRAINT customer_address_id_fkey FOREIGN KEY (address_id) REFERENCES public.address(address_id) ON UPDATE CASCADE ON DELETE RESTRICT;
1475
+
1476
+
1477
+ --
1478
+ -- Name: film_actor film_actor_actor_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres
1479
+ --
1480
+
1481
+ ALTER TABLE ONLY public.film_actor
1482
+ ADD CONSTRAINT film_actor_actor_id_fkey FOREIGN KEY (actor_id) REFERENCES public.actor(actor_id) ON UPDATE CASCADE ON DELETE RESTRICT;
1483
+
1484
+
1485
+ --
1486
+ -- Name: film_actor film_actor_film_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres
1487
+ --
1488
+
1489
+ ALTER TABLE ONLY public.film_actor
1490
+ ADD CONSTRAINT film_actor_film_id_fkey FOREIGN KEY (film_id) REFERENCES public.film(film_id) ON UPDATE CASCADE ON DELETE RESTRICT;
1491
+
1492
+
1493
+ --
1494
+ -- Name: film_category film_category_category_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres
1495
+ --
1496
+
1497
+ ALTER TABLE ONLY public.film_category
1498
+ ADD CONSTRAINT film_category_category_id_fkey FOREIGN KEY (category_id) REFERENCES public.category(category_id) ON UPDATE CASCADE ON DELETE RESTRICT;
1499
+
1500
+
1501
+ --
1502
+ -- Name: film_category film_category_film_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres
1503
+ --
1504
+
1505
+ ALTER TABLE ONLY public.film_category
1506
+ ADD CONSTRAINT film_category_film_id_fkey FOREIGN KEY (film_id) REFERENCES public.film(film_id) ON UPDATE CASCADE ON DELETE RESTRICT;
1507
+
1508
+
1509
+ --
1510
+ -- Name: film film_language_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres
1511
+ --
1512
+
1513
+ ALTER TABLE ONLY public.film
1514
+ ADD CONSTRAINT film_language_id_fkey FOREIGN KEY (language_id) REFERENCES public.language(language_id) ON UPDATE CASCADE ON DELETE RESTRICT;
1515
+
1516
+
1517
+ --
1518
+ -- Name: address fk_address_city; Type: FK CONSTRAINT; Schema: public; Owner: postgres
1519
+ --
1520
+
1521
+ ALTER TABLE ONLY public.address
1522
+ ADD CONSTRAINT fk_address_city FOREIGN KEY (city_id) REFERENCES public.city(city_id);
1523
+
1524
+
1525
+ --
1526
+ -- Name: city fk_city; Type: FK CONSTRAINT; Schema: public; Owner: postgres
1527
+ --
1528
+
1529
+ ALTER TABLE ONLY public.city
1530
+ ADD CONSTRAINT fk_city FOREIGN KEY (country_id) REFERENCES public.country(country_id);
1531
+
1532
+
1533
+ --
1534
+ -- Name: inventory inventory_film_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres
1535
+ --
1536
+
1537
+ ALTER TABLE ONLY public.inventory
1538
+ ADD CONSTRAINT inventory_film_id_fkey FOREIGN KEY (film_id) REFERENCES public.film(film_id) ON UPDATE CASCADE ON DELETE RESTRICT;
1539
+
1540
+
1541
+ --
1542
+ -- Name: payment payment_customer_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres
1543
+ --
1544
+
1545
+ ALTER TABLE ONLY public.payment
1546
+ ADD CONSTRAINT payment_customer_id_fkey FOREIGN KEY (customer_id) REFERENCES public.customer(customer_id) ON UPDATE CASCADE ON DELETE RESTRICT;
1547
+
1548
+
1549
+ --
1550
+ -- Name: payment payment_rental_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres
1551
+ --
1552
+
1553
+ ALTER TABLE ONLY public.payment
1554
+ ADD CONSTRAINT payment_rental_id_fkey FOREIGN KEY (rental_id) REFERENCES public.rental(rental_id) ON UPDATE CASCADE ON DELETE SET NULL;
1555
+
1556
+
1557
+ --
1558
+ -- Name: payment payment_staff_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres
1559
+ --
1560
+
1561
+ ALTER TABLE ONLY public.payment
1562
+ ADD CONSTRAINT payment_staff_id_fkey FOREIGN KEY (staff_id) REFERENCES public.staff(staff_id) ON UPDATE CASCADE ON DELETE RESTRICT;
1563
+
1564
+
1565
+ --
1566
+ -- Name: rental rental_customer_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres
1567
+ --
1568
+
1569
+ ALTER TABLE ONLY public.rental
1570
+ ADD CONSTRAINT rental_customer_id_fkey FOREIGN KEY (customer_id) REFERENCES public.customer(customer_id) ON UPDATE CASCADE ON DELETE RESTRICT;
1571
+
1572
+
1573
+ --
1574
+ -- Name: rental rental_inventory_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres
1575
+ --
1576
+
1577
+ ALTER TABLE ONLY public.rental
1578
+ ADD CONSTRAINT rental_inventory_id_fkey FOREIGN KEY (inventory_id) REFERENCES public.inventory(inventory_id) ON UPDATE CASCADE ON DELETE RESTRICT;
1579
+
1580
+
1581
+ --
1582
+ -- Name: rental rental_staff_id_key; Type: FK CONSTRAINT; Schema: public; Owner: postgres
1583
+ --
1584
+
1585
+ ALTER TABLE ONLY public.rental
1586
+ ADD CONSTRAINT rental_staff_id_key FOREIGN KEY (staff_id) REFERENCES public.staff(staff_id);
1587
+
1588
+
1589
+ --
1590
+ -- Name: staff staff_address_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres
1591
+ --
1592
+
1593
+ ALTER TABLE ONLY public.staff
1594
+ ADD CONSTRAINT staff_address_id_fkey FOREIGN KEY (address_id) REFERENCES public.address(address_id) ON UPDATE CASCADE ON DELETE RESTRICT;
1595
+
1596
+
1597
+ --
1598
+ -- Name: store store_address_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres
1599
+ --
1600
+
1601
+ ALTER TABLE ONLY public.store
1602
+ ADD CONSTRAINT store_address_id_fkey FOREIGN KEY (address_id) REFERENCES public.address(address_id) ON UPDATE CASCADE ON DELETE RESTRICT;
1603
+
1604
+
1605
+ --
1606
+ -- Name: store store_manager_staff_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres
1607
+ --
1608
+
1609
+ ALTER TABLE ONLY public.store
1610
+ ADD CONSTRAINT store_manager_staff_id_fkey FOREIGN KEY (manager_staff_id) REFERENCES public.staff(staff_id) ON UPDATE CASCADE ON DELETE RESTRICT;
1611
+
1612
+
1613
+ --
1614
+ -- PostgreSQL database dump complete
1615
+ --
1616
+