@platformatic/runtime 2.0.0-alpha.2 → 2.0.0-alpha.4

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 (176) hide show
  1. package/config.d.ts +285 -0
  2. package/eslint.config.js +8 -0
  3. package/fixtures/botched-start/platformatic.runtime.json +1 -1
  4. package/fixtures/botched-start/services/a/platformatic.service.json +1 -1
  5. package/fixtures/composerApp/platformatic.composer.json +1 -1
  6. package/fixtures/configs/invalid-autoload-with-services.json +1 -1
  7. package/fixtures/configs/invalid-entrypoint.json +1 -1
  8. package/fixtures/configs/invalid-schema-type.config.json +1 -1
  9. package/fixtures/configs/missing-property.config.json +1 -1
  10. package/fixtures/configs/missing-service-config.json +1 -1
  11. package/fixtures/configs/monorepo-composer-no-autoload.json +2 -2
  12. package/fixtures/configs/monorepo-composer.json +2 -2
  13. package/fixtures/configs/monorepo-create-cycle.json +2 -2
  14. package/fixtures/configs/monorepo-missing-dependencies.json +2 -2
  15. package/fixtures/configs/monorepo-no-cycles.json +2 -2
  16. package/fixtures/configs/monorepo-openapi.json +2 -2
  17. package/fixtures/configs/{monorepo-hotreload-env.json → monorepo-watch-env.json} +2 -2
  18. package/fixtures/configs/monorepo-watch-single.json +12 -0
  19. package/fixtures/configs/monorepo-watch.json +26 -9
  20. package/fixtures/configs/monorepo-with-dependencies.json +2 -2
  21. package/fixtures/configs/monorepo-with-management-api-without-metrics.json +21 -0
  22. package/fixtures/configs/monorepo-with-management-api.json +2 -2
  23. package/fixtures/configs/{monorepo-hotreload.json → monorepo-with-metrics.json} +5 -4
  24. package/fixtures/configs/monorepo.json +2 -2
  25. package/fixtures/configs/no-services.config.json +1 -1
  26. package/fixtures/configs/no-sources.config.json +1 -1
  27. package/fixtures/configs/service-throws-on-start.json +1 -1
  28. package/fixtures/configs/service-with-env-port.json +2 -2
  29. package/fixtures/configs/service-with-stdio.json +12 -0
  30. package/fixtures/configs/{hotreload.json → watch.json} +2 -2
  31. package/fixtures/crash-on-bootstrap/platformatic.runtime.json +15 -0
  32. package/fixtures/crash-on-bootstrap/services/service-1/platformatic.service.json +14 -0
  33. package/fixtures/crash-on-bootstrap/services/service-1/plugin.js +5 -0
  34. package/fixtures/crash-on-bootstrap/services/service-2/platformatic.service.json +14 -0
  35. package/fixtures/crash-on-bootstrap/services/service-2/plugin.js +5 -0
  36. package/fixtures/dbApp/platformatic.db.json +1 -1
  37. package/fixtures/dbAppNoName/platformatic.db.json +1 -1
  38. package/fixtures/dbAppNoPackageJson/platformatic.db.json +1 -1
  39. package/fixtures/dbAppWithMigrationError/platformatic.db.json +1 -1
  40. package/fixtures/do-not-reload-dependencies/platformatic.service.json +1 -1
  41. package/fixtures/do-not-restart-on-crash/platformatic.runtime.json +3 -2
  42. package/fixtures/do-not-restart-on-crash/services/a/platformatic.service.json +1 -1
  43. package/fixtures/express/platformatic.runtime.json +1 -1
  44. package/fixtures/express/services/a/platformatic.service.json +1 -1
  45. package/fixtures/express/services/b/platformatic.service.json +1 -1
  46. package/fixtures/external-client/platformatic.service.json +1 -1
  47. package/fixtures/interceptors/idp.js +2 -2
  48. package/fixtures/interceptors/platformatic.runtime.json +1 -1
  49. package/fixtures/interceptors/services/a/platformatic.service.json +1 -1
  50. package/fixtures/interceptors-2/platformatic.runtime.json +1 -1
  51. package/fixtures/interceptors-2/services/a/platformatic.service.json +1 -1
  52. package/fixtures/leven/platformatic.runtime.json +2 -2
  53. package/fixtures/leven/services/deeply-spittle/platformatic.service.json +1 -1
  54. package/fixtures/leven/services/rainy-empire/platformatic.composer.json +1 -1
  55. package/fixtures/management-api/platformatic.json +3 -3
  56. package/fixtures/management-api/services/service-1/platformatic.json +1 -1
  57. package/fixtures/management-api/services/service-1/plugin.js +4 -3
  58. package/fixtures/management-api/services/service-2/platformatic.json +1 -1
  59. package/fixtures/management-api/services/service-db/platformatic.db.json +1 -1
  60. package/fixtures/management-api-custom-labels/platformatic.json +2 -2
  61. package/fixtures/management-api-custom-labels/services/service-1/platformatic.json +1 -1
  62. package/fixtures/management-api-custom-labels/services/service-1/plugin.js +4 -3
  63. package/fixtures/management-api-custom-labels/services/service-2/platformatic.json +1 -1
  64. package/fixtures/management-api-custom-labels/services/service-db/platformatic.db.json +1 -1
  65. package/fixtures/management-api-without-metrics/platformatic.json +3 -2
  66. package/fixtures/management-api-without-metrics/services/service-1/platformatic.json +1 -1
  67. package/fixtures/monorepo/composerApp/platformatic.composer.json +1 -1
  68. package/fixtures/monorepo/dbApp/platformatic.db.json +1 -1
  69. package/fixtures/monorepo/serviceApp/platformatic.service.json +3 -2
  70. package/fixtures/monorepo/serviceApp/with-logger/with-logger.cjs +2 -2
  71. package/fixtures/monorepo/serviceApp/with-logger/with-logger.d.ts +7 -7
  72. package/fixtures/monorepo/serviceAppWithLogger/platformatic.service.json +1 -1
  73. package/fixtures/monorepo/serviceAppWithLogger/plugin.js +12 -0
  74. package/fixtures/monorepo/serviceAppWithMultiplePlugins/platformatic.service.json +3 -2
  75. package/fixtures/monorepo-missing-dependencies/composer/platformatic.json +1 -1
  76. package/fixtures/monorepo-openapi/serviceAppWithoutOpenapi/platformatic.service.json +1 -1
  77. package/fixtures/monorepo-watch/service1/platformatic.service.json +1 -1
  78. package/fixtures/monorepo-with-dependencies/main/platformatic.json +1 -1
  79. package/fixtures/monorepo-with-dependencies/service-1/platformatic.json +1 -1
  80. package/fixtures/monorepo-with-dependencies/service-2/platformatic.json +1 -1
  81. package/fixtures/no-env.service.json +1 -1
  82. package/fixtures/preload/platformatic.runtime.json +1 -1
  83. package/fixtures/preload/services/a/platformatic.service.json +1 -1
  84. package/fixtures/prom-server/platformatic.json +2 -2
  85. package/fixtures/prom-server/services/service-1/platformatic.json +1 -1
  86. package/fixtures/prom-server/services/service-2/platformatic.json +1 -1
  87. package/fixtures/restart-on-crash/platformatic.runtime.json +1 -1
  88. package/fixtures/restart-on-crash/services/a/platformatic.service.json +1 -1
  89. package/fixtures/sample-runtime/package.json +1 -1
  90. package/fixtures/sample-runtime/platformatic.json +2 -2
  91. package/fixtures/sample-runtime/services/rival/package.json +1 -1
  92. package/fixtures/sample-runtime/services/rival/platformatic.json +1 -1
  93. package/fixtures/sample-runtime-with-2-services/package.json +1 -1
  94. package/fixtures/sample-runtime-with-2-services/platformatic.json +2 -2
  95. package/fixtures/sample-runtime-with-2-services/services/foobar/package.json +1 -1
  96. package/fixtures/sample-runtime-with-2-services/services/foobar/platformatic.json +1 -1
  97. package/fixtures/sample-runtime-with-2-services/services/rival/package.json +1 -1
  98. package/fixtures/sample-runtime-with-2-services/services/rival/platformatic.json +1 -1
  99. package/fixtures/server/logger-transport/platformatic.runtime.json +2 -2
  100. package/fixtures/server/logger-transport/services/echo/platformatic.service.json +1 -1
  101. package/fixtures/server/overrides-service/platformatic.runtime.json +2 -2
  102. package/fixtures/server/overrides-service/services/echo/platformatic.service.json +1 -1
  103. package/fixtures/server/runtime-server/platformatic.runtime.json +2 -2
  104. package/fixtures/server/runtime-server/services/echo/platformatic.service.json +1 -1
  105. package/fixtures/serviceAppThrowsOnStart/platformatic.service.json +1 -1
  106. package/fixtures/stackables/node_modules/foo/foo.js +2 -1
  107. package/fixtures/start-command-in-runtime.js +1 -1
  108. package/fixtures/stdio/platformatic.service.json +6 -0
  109. package/fixtures/stdio/plugin.js +24 -0
  110. package/fixtures/telemetry/platformatic.runtime.json +2 -2
  111. package/fixtures/telemetry/services/echo/platformatic.service.json +1 -1
  112. package/fixtures/telemetry/services/echo/routes/span.js +16 -2
  113. package/fixtures/telemetry/services/service-1/platformatic.service.json +19 -0
  114. package/fixtures/telemetry/services/service-1/routes/echo.js +7 -0
  115. package/fixtures/typescript/platformatic.runtime.json +2 -2
  116. package/fixtures/typescript/services/composer/platformatic.composer.json +1 -1
  117. package/fixtures/typescript/services/movies/global.d.ts +2 -3
  118. package/fixtures/typescript/services/movies/platformatic.db.json +1 -1
  119. package/fixtures/typescript/services/movies/types/Movie.d.ts +3 -3
  120. package/fixtures/typescript/services/movies/types/index.d.ts +6 -6
  121. package/fixtures/typescript/services/titles/client/client.d.ts +35 -35
  122. package/fixtures/typescript/services/titles/platformatic.service.json +1 -1
  123. package/fixtures/typescript-custom-flags/platformatic.runtime.json +2 -2
  124. package/fixtures/typescript-custom-flags/services/composer/platformatic.composer.json +1 -1
  125. package/fixtures/typescript-custom-flags/services/movies/global.d.ts +2 -3
  126. package/fixtures/typescript-custom-flags/services/movies/platformatic.db.json +1 -1
  127. package/fixtures/typescript-custom-flags/services/movies/types/Movie.d.ts +3 -3
  128. package/fixtures/typescript-custom-flags/services/movies/types/index.d.ts +6 -6
  129. package/fixtures/typescript-custom-flags/services/titles/client/client.d.ts +35 -35
  130. package/fixtures/typescript-custom-flags/services/titles/platformatic.service.json +1 -1
  131. package/fixtures/typescript-no-env/platformatic.runtime.json +2 -2
  132. package/fixtures/typescript-no-env/services/composer/platformatic.composer.json +1 -1
  133. package/fixtures/typescript-no-env/services/movies/global.d.ts +2 -3
  134. package/fixtures/typescript-no-env/services/movies/platformatic.db.json +1 -1
  135. package/fixtures/typescript-no-env/services/movies/types/Movie.d.ts +3 -3
  136. package/fixtures/typescript-no-env/services/movies/types/index.d.ts +6 -6
  137. package/fixtures/typescript-no-env/services/titles/client/client.d.ts +35 -35
  138. package/fixtures/typescript-no-env/services/titles/platformatic.service.json +1 -1
  139. package/index.d.ts +7 -8
  140. package/index.js +14 -10
  141. package/index.test-d.ts +10 -12
  142. package/lib/build-server.js +5 -11
  143. package/lib/compile.js +11 -10
  144. package/lib/config.js +21 -14
  145. package/lib/dependencies.js +2 -1
  146. package/lib/errors.js +3 -2
  147. package/lib/generator/errors.js +1 -1
  148. package/lib/generator/runtime-generator.d.ts +15 -15
  149. package/lib/generator/runtime-generator.js +92 -63
  150. package/lib/logger.js +55 -0
  151. package/lib/management-api.js +29 -44
  152. package/lib/prom-server.js +5 -9
  153. package/lib/runtime.js +955 -0
  154. package/lib/schema.js +79 -76
  155. package/lib/start.js +35 -113
  156. package/lib/upgrade.js +4 -3
  157. package/lib/utils.js +49 -1
  158. package/lib/versions/v1.36.0.js +1 -1
  159. package/lib/versions/v1.5.0.js +1 -1
  160. package/lib/versions/v2.0.0.js +17 -0
  161. package/lib/worker/app.js +250 -0
  162. package/lib/worker/default-stackable.js +27 -0
  163. package/lib/worker/itc.js +128 -0
  164. package/lib/worker/main.js +127 -0
  165. package/lib/worker/symbols.js +7 -0
  166. package/package.json +25 -25
  167. package/runtime.mjs +4 -4
  168. package/schema.json +824 -0
  169. package/lib/api-client.js +0 -500
  170. package/lib/api.js +0 -420
  171. package/lib/app.js +0 -397
  172. package/lib/load-config.js +0 -12
  173. package/lib/loader.mjs +0 -103
  174. package/lib/message-port-writable.js +0 -50
  175. package/lib/worker.js +0 -182
  176. /package/lib/{interceptors.js → worker/interceptors.js} +0 -0
@@ -1,5 +1,5 @@
1
1
  {
2
- "$schema": "https://platformatic.dev/schemas/v1.25.0/service",
2
+ "$schema": "https://schemas.platformatic.dev/@platformatic/service/1.52.0.json",
3
3
  "service": {
4
4
  "openapi": true
5
5
  },
@@ -11,6 +11,6 @@
11
11
  "@fastify/oauth2": "7.9.0"
12
12
  },
13
13
  "engines": {
14
- "node": "^18.8.0 || >=20.6.0"
14
+ "node": ">=20.16.0"
15
15
  }
16
16
  }
@@ -1,7 +1,7 @@
1
1
  {
2
- "$schema": "https://platformatic.dev/schemas/v1.25.0/runtime",
2
+ "$schema": "https://schemas.platformatic.dev/@platformatic/runtime/1.52.0.json",
3
3
  "entrypoint": "rival",
4
- "hotReload": true,
4
+ "watch": true,
5
5
  "autoload": {
6
6
  "path": "services",
7
7
  "exclude": [
@@ -11,6 +11,6 @@
11
11
  "@platformatic/service": "^1.25.0"
12
12
  },
13
13
  "engines": {
14
- "node": "^18.8.0 || >=20.6.0"
14
+ "node": ">=20.16.0"
15
15
  }
16
16
  }
@@ -1,5 +1,5 @@
1
1
  {
2
- "$schema": "https://platformatic.dev/schemas/v1.25.0/service",
2
+ "$schema": "https://schemas.platformatic.dev/@platformatic/service/1.52.0.json",
3
3
  "service": {
4
4
  "openapi": true
5
5
  },
@@ -11,6 +11,6 @@
11
11
  "@platformatic/service": "^1.25.0"
12
12
  },
13
13
  "engines": {
14
- "node": "^18.8.0 || >=20.6.0"
14
+ "node": ">=20.16.0"
15
15
  }
16
16
  }
@@ -1,5 +1,5 @@
1
1
  {
2
- "$schema": "https://platformatic.dev/schemas/v1.25.0/service",
2
+ "$schema": "https://schemas.platformatic.dev/@platformatic/service/1.52.0.json",
3
3
  "service": {
4
4
  "openapi": true
5
5
  },
@@ -1,7 +1,7 @@
1
1
  {
2
- "$schema": "https://platformatic.dev/schemas/v0.31.0/runtime",
2
+ "$schema": "https://schemas.platformatic.dev/@platformatic/runtime/1.52.0.json",
3
3
  "entrypoint": "echo",
4
- "hotReload": true,
4
+ "watch": true,
5
5
  "autoload": {
6
6
  "path": "services",
7
7
  "exclude": [
@@ -1,5 +1,5 @@
1
1
  {
2
- "$schema": "https://platformatic.dev/schemas/v0.28.1/service",
2
+ "$schema": "https://schemas.platformatic.dev/@platformatic/service/1.52.0.json",
3
3
  "service": {
4
4
  "openapi": true
5
5
  },
@@ -1,7 +1,7 @@
1
1
  {
2
- "$schema": "https://platformatic.dev/schemas/v0.31.0/runtime",
2
+ "$schema": "https://schemas.platformatic.dev/@platformatic/runtime/1.52.0.json",
3
3
  "entrypoint": "echo",
4
- "hotReload": true,
4
+ "watch": true,
5
5
  "autoload": {
6
6
  "path": "services",
7
7
  "exclude": [
@@ -1,5 +1,5 @@
1
1
  {
2
- "$schema": "https://platformatic.dev/schemas/v0.28.1/service",
2
+ "$schema": "https://schemas.platformatic.dev/@platformatic/service/1.52.0.json",
3
3
  "service": {
4
4
  "openapi": true
5
5
  },
@@ -1,7 +1,7 @@
1
1
  {
2
- "$schema": "https://platformatic.dev/schemas/v0.31.0/runtime",
2
+ "$schema": "https://schemas.platformatic.dev/@platformatic/runtime/1.52.0.json",
3
3
  "entrypoint": "echo",
4
- "hotReload": true,
4
+ "watch": true,
5
5
  "autoload": {
6
6
  "path": "services",
7
7
  "exclude": [
@@ -1,5 +1,5 @@
1
1
  {
2
- "$schema": "https://platformatic.dev/schemas/v0.28.1/service",
2
+ "$schema": "https://schemas.platformatic.dev/@platformatic/service/1.52.0.json",
3
3
  "service": {
4
4
  "openapi": true
5
5
  },
@@ -1,5 +1,5 @@
1
1
  {
2
- "$schema": "https://platformatic.dev/schemas/v0.20.0/service",
2
+ "$schema": "https://schemas.platformatic.dev/@platformatic/service/1.52.0.json",
3
3
  "server": {
4
4
  "hostname": "127.0.0.1",
5
5
  "port": 0
@@ -1,6 +1,6 @@
1
1
  'use strict'
2
2
 
3
- const { schema } = require('@platformatic/service')
3
+ const { schema, buildStackable } = require('@platformatic/service')
4
4
 
5
5
  /** @type {import('fastify').FastifyPluginAsync<{}>} */
6
6
  async function foo (app) {
@@ -57,5 +57,6 @@ foo.configManagerConfig = {
57
57
  strict: false
58
58
  }
59
59
  }
60
+ foo.buildStackable = (options) => buildStackable(options, foo)
60
61
 
61
62
  module.exports = foo
@@ -6,7 +6,7 @@ const { startCommand } = require('..')
6
6
 
7
7
  setGlobalDispatcher(new Agent({
8
8
  keepAliveTimeout: 1,
9
- keepAliveMaxTimeout: 1
9
+ keepAliveMaxTimeout: 1,
10
10
  }))
11
11
 
12
12
  async function main () {
@@ -0,0 +1,6 @@
1
+ {
2
+ "$schema": "https://schemas.platformatic.dev/@platformatic/service/1.52.0.json",
3
+ "plugins": {
4
+ "paths": ["plugin.js"]
5
+ }
6
+ }
@@ -0,0 +1,24 @@
1
+ 'use strict'
2
+
3
+ const pino = require('pino')
4
+
5
+ module.exports = async function foo (app) {
6
+ app.log.info('This is an info')
7
+ app.log.warn('This is a warn')
8
+ app.log.warn('This is an error')
9
+
10
+ app.get('/', async () => {
11
+ console.log('This is a\n console.log')
12
+ console.error('This is a\n console.error')
13
+
14
+ console.log(JSON.stringify({ ts: '123', foo: 'bar' }))
15
+ console.log('#'.repeat(1e4))
16
+ console.log(Buffer.from(Array.from(Array(1e2)).map((_, i) => i)))
17
+
18
+ const logger = pino({ level: 'trace' })
19
+ logger.trace('This is a trace')
20
+ logger.fatal({ payload: { ts: '123', foo: 'bar' } }, 'This is a fatal with object')
21
+
22
+ return { ok: true }
23
+ })
24
+ }
@@ -1,7 +1,7 @@
1
1
  {
2
- "$schema": "https://platformatic.dev/schemas/v0.31.0/runtime",
2
+ "$schema": "https://schemas.platformatic.dev/@platformatic/runtime/1.52.0.json",
3
3
  "entrypoint": "echo",
4
- "hotReload": true,
4
+ "watch": true,
5
5
  "autoload": {
6
6
  "path": "services",
7
7
  "exclude": [
@@ -1,5 +1,5 @@
1
1
  {
2
- "$schema": "https://platformatic.dev/schemas/v0.28.1/service",
2
+ "$schema": "https://schemas.platformatic.dev/@platformatic/service/1.52.0.json",
3
3
  "server": {
4
4
  "hostname": "127.0.0.1",
5
5
  "port": "0",
@@ -1,8 +1,22 @@
1
1
  'use strict'
2
+
3
+ const { request } = require('undici')
4
+
2
5
  module.exports = async function (fastify, opts) {
3
6
  // This returns the traceId set on the span by the service
4
- fastify.get('/', async (request, reply) => {
5
- const traceId = request.span.spanContext().traceId
7
+ fastify.get('/', async (req, reply) => {
8
+ const traceId = req.span.spanContext().traceId
6
9
  return { traceId }
7
10
  })
11
+
12
+ fastify.get('/service-1/echo-headers', async (req, reply) => {
13
+ const res = await request('http://service-1.plt.local/echo-headers', {
14
+ method: 'GET',
15
+ headers: {
16
+ 'content-type': 'application/json',
17
+ },
18
+ })
19
+ const body = await res.body.json()
20
+ return body
21
+ })
8
22
  }
@@ -0,0 +1,19 @@
1
+ {
2
+ "$schema": "https://schemas.platformatic.dev/@platformatic/service/1.52.0.json",
3
+ "server": {
4
+ "hostname": "127.0.0.1",
5
+ "port": "0",
6
+ "logger": {
7
+ "level": "info"
8
+ }
9
+ },
10
+ "service": {
11
+ "openapi": true
12
+ },
13
+ "plugins": {
14
+ "paths": [
15
+ "./routes"
16
+ ],
17
+ "typescript": false
18
+ }
19
+ }
@@ -0,0 +1,7 @@
1
+ 'use strict'
2
+ module.exports = async function (fastify, opts) {
3
+ // This returns the traceId set on the span by the service
4
+ fastify.get('/echo-headers', async (request, reply) => {
5
+ return { headers: request.headers }
6
+ })
7
+ }
@@ -1,7 +1,7 @@
1
1
  {
2
- "$schema": "https://platformatic.dev/schemas/v0.28.1/runtime",
2
+ "$schema": "https://schemas.platformatic.dev/@platformatic/runtime/1.52.0.json",
3
3
  "entrypoint": "composer",
4
- "hotReload": true,
4
+ "watch": true,
5
5
  "autoload": {
6
6
  "path": "services",
7
7
  "exclude": [
@@ -1,5 +1,5 @@
1
1
  {
2
- "$schema": "https://platformatic.dev/schemas/v0.28.1/composer",
2
+ "$schema": "https://schemas.platformatic.dev/@platformatic/composer/1.52.0.json",
3
3
  "server": {
4
4
  "hostname": "{PLT_SERVER_HOSTNAME}",
5
5
  "port": "{PORT}",
@@ -1,11 +1,10 @@
1
- import { Entity } from '@platformatic/sql-mapper';
2
- import graphqlPlugin from '@platformatic/sql-graphql'
1
+ import { Entity } from '@platformatic/sql-mapper'
3
2
  import { EntityTypes, Movie } from './types'
4
3
 
5
4
  declare module 'fastify' {
6
5
  interface FastifyInstance {
7
6
  getSchema<T extends 'Movie'>(schemaId: T): {
8
- '$id': string,
7
+ $id: string,
9
8
  title: string,
10
9
  description: string,
11
10
  type: string,
@@ -1,5 +1,5 @@
1
1
  {
2
- "$schema": "https://platformatic.dev/schemas/v0.28.1/db",
2
+ "$schema": "https://schemas.platformatic.dev/@platformatic/db/1.52.0.json",
3
3
  "server": {
4
4
  "hostname": "{PLT_SERVER_HOSTNAME}",
5
5
  "port": "{PORT}",
@@ -3,7 +3,7 @@
3
3
  * A Movie
4
4
  */
5
5
  declare interface Movie {
6
- id?: number;
7
- title: string;
6
+ id?: number;
7
+ title: string;
8
8
  }
9
- export { Movie };
9
+ export { Movie }
@@ -1,7 +1,7 @@
1
1
  import { Movie } from './Movie'
2
-
3
- interface EntityTypes {
4
- Movie:Movie
5
- }
6
-
7
- export { EntityTypes ,Movie }
2
+
3
+ interface EntityTypes {
4
+ Movie: Movie
5
+ }
6
+
7
+ export { EntityTypes, Movie }
@@ -1,10 +1,10 @@
1
1
  import { FastifyPluginAsync } from 'fastify'
2
2
 
3
3
  interface GetMoviesRequest {
4
- 'limit'?: number;
5
- 'offset'?: number;
6
- 'totalCount'?: boolean;
7
- 'fields'?: Array<string>;
4
+ limit?: number;
5
+ offset?: number;
6
+ totalCount?: boolean;
7
+ fields?: Array<string>;
8
8
  'where.id.eq'?: number;
9
9
  'where.id.neq'?: number;
10
10
  'where.id.gt'?: number;
@@ -29,22 +29,22 @@ interface GetMoviesRequest {
29
29
  }
30
30
 
31
31
  interface GetMoviesResponseOK {
32
- 'id'?: number;
33
- 'title': string;
32
+ id?: number;
33
+ title: string;
34
34
  }
35
35
 
36
36
  interface CreateMovieRequest {
37
- 'id'?: number;
38
- 'title': string;
37
+ id?: number;
38
+ title: string;
39
39
  }
40
40
 
41
41
  interface CreateMovieResponseOK {
42
- 'id'?: number;
43
- 'title': string;
42
+ id?: number;
43
+ title: string;
44
44
  }
45
45
 
46
46
  interface UpdateMoviesRequest {
47
- 'fields'?: Array<string>;
47
+ fields?: Array<string>;
48
48
  'where.id.eq'?: number;
49
49
  'where.id.neq'?: number;
50
50
  'where.id.gt'?: number;
@@ -64,44 +64,44 @@ interface UpdateMoviesRequest {
64
64
  'where.title.in'?: string;
65
65
  'where.title.nin'?: string;
66
66
  'where.or'?: Array<string>;
67
- 'id'?: number;
68
- 'title': string;
67
+ id?: number;
68
+ title: string;
69
69
  }
70
70
 
71
71
  interface UpdateMoviesResponseOK {
72
- 'id'?: number;
73
- 'title': string;
72
+ id?: number;
73
+ title: string;
74
74
  }
75
75
 
76
76
  interface GetMovieByIdRequest {
77
- 'fields'?: Array<string>;
78
- 'id': number;
77
+ fields?: Array<string>;
78
+ id: number;
79
79
  }
80
80
 
81
81
  interface GetMovieByIdResponseOK {
82
- 'id'?: number;
83
- 'title': string;
82
+ id?: number;
83
+ title: string;
84
84
  }
85
85
 
86
86
  interface UpdateMovieRequest {
87
- 'fields'?: Array<string>;
88
- 'id': number;
89
- 'title': string;
87
+ fields?: Array<string>;
88
+ id: number;
89
+ title: string;
90
90
  }
91
91
 
92
92
  interface UpdateMovieResponseOK {
93
- 'id'?: number;
94
- 'title': string;
93
+ id?: number;
94
+ title: string;
95
95
  }
96
96
 
97
97
  interface DeleteMoviesRequest {
98
- 'fields'?: Array<string>;
99
- 'id': number;
98
+ fields?: Array<string>;
99
+ id: number;
100
100
  }
101
101
 
102
102
  interface DeleteMoviesResponseOK {
103
- 'id'?: number;
104
- 'title': string;
103
+ id?: number;
104
+ title: string;
105
105
  }
106
106
 
107
107
  interface Client {
@@ -117,15 +117,15 @@ type ClientPlugin = FastifyPluginAsync<NonNullable<client.ClientOptions>>
117
117
 
118
118
  declare module 'fastify' {
119
119
  interface ConfigureClient {
120
- getHeaders(req: FastifyRequest, reply: FastifyReply): Promise<Record<string,string>>;
120
+ getHeaders(req: FastifyRequest, reply: FastifyReply): Promise<Record<string, string>>;
121
121
  }
122
122
  interface FastifyInstance {
123
- 'client': Client;
123
+ client: Client;
124
124
  configureClient(opts: ConfigureClient): unknown
125
125
  }
126
126
 
127
127
  interface FastifyRequest {
128
- 'client': Client;
128
+ client: Client;
129
129
  }
130
130
  }
131
131
 
@@ -133,9 +133,9 @@ declare namespace client {
133
133
  export interface ClientOptions {
134
134
  url: string
135
135
  }
136
- export const client: ClientPlugin;
137
- export { client as default };
136
+ export const client: ClientPlugin
137
+ export { client as default }
138
138
  }
139
139
 
140
- declare function client(...params: Parameters<ClientPlugin>): ReturnType<ClientPlugin>;
141
- export = client;
140
+ declare function client (...params: Parameters<ClientPlugin>): ReturnType<ClientPlugin>
141
+ export = client
@@ -1,5 +1,5 @@
1
1
  {
2
- "$schema": "https://platformatic.dev/schemas/v0.28.1/service",
2
+ "$schema": "https://schemas.platformatic.dev/@platformatic/service/1.52.0.json",
3
3
  "server": {
4
4
  "hostname": "{PLT_SERVER_HOSTNAME}",
5
5
  "port": "{PORT}",
@@ -1,7 +1,7 @@
1
1
  {
2
- "$schema": "https://platformatic.dev/schemas/v0.28.1/runtime",
2
+ "$schema": "https://schemas.platformatic.dev/@platformatic/runtime/1.52.0.json",
3
3
  "entrypoint": "composer",
4
- "hotReload": true,
4
+ "watch": true,
5
5
  "autoload": {
6
6
  "path": "services",
7
7
  "exclude": [
@@ -1,5 +1,5 @@
1
1
  {
2
- "$schema": "https://platformatic.dev/schemas/v0.28.1/composer",
2
+ "$schema": "https://schemas.platformatic.dev/@platformatic/composer/1.52.0.json",
3
3
  "server": {
4
4
  "hostname": "{PLT_SERVER_HOSTNAME}",
5
5
  "port": "{PORT}",
@@ -1,11 +1,10 @@
1
- import { Entity } from '@platformatic/sql-mapper';
2
- import graphqlPlugin from '@platformatic/sql-graphql'
1
+ import { Entity } from '@platformatic/sql-mapper'
3
2
  import { EntityTypes, Movie } from './types'
4
3
 
5
4
  declare module 'fastify' {
6
5
  interface FastifyInstance {
7
6
  getSchema<T extends 'Movie'>(schemaId: T): {
8
- '$id': string,
7
+ $id: string,
9
8
  title: string,
10
9
  description: string,
11
10
  type: string,
@@ -1,5 +1,5 @@
1
1
  {
2
- "$schema": "https://platformatic.dev/schemas/v0.30.0/db",
2
+ "$schema": "https://schemas.platformatic.dev/@platformatic/db/1.52.0.json",
3
3
  "server": {
4
4
  "hostname": "{PLT_SERVER_HOSTNAME}",
5
5
  "port": "{PORT}",
@@ -3,7 +3,7 @@
3
3
  * A Movie
4
4
  */
5
5
  declare interface Movie {
6
- id?: number;
7
- title: string;
6
+ id?: number;
7
+ title: string;
8
8
  }
9
- export { Movie };
9
+ export { Movie }
@@ -1,7 +1,7 @@
1
1
  import { Movie } from './Movie'
2
-
3
- interface EntityTypes {
4
- Movie:Movie
5
- }
6
-
7
- export { EntityTypes ,Movie }
2
+
3
+ interface EntityTypes {
4
+ Movie: Movie
5
+ }
6
+
7
+ export { EntityTypes, Movie }