@things-factory/shell 4.0.0-alpha.8 → 4.0.0-beta.2

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 (82) hide show
  1. package/bin/things-factory-dev +5 -11
  2. package/client/elements/oops-progress.js +15 -7
  3. package/client/graphql-client.js +14 -15
  4. package/client/index.js +2 -2
  5. package/client/{notification-store.js → indexdb.js} +49 -40
  6. package/client/serviceworker/sw-src.js +1 -1
  7. package/client/themes/oops-theme.css +9 -9
  8. package/config/config.development.js +12 -1
  9. package/dist-server/graphql-local-client.js +1 -1
  10. package/dist-server/graphql-local-client.js.map +1 -1
  11. package/dist-server/index.js +1 -1
  12. package/dist-server/initializers/database.js +3 -2
  13. package/dist-server/initializers/database.js.map +1 -1
  14. package/dist-server/initializers/naming-strategy.js +1 -1
  15. package/dist-server/initializers/naming-strategy.js.map +1 -1
  16. package/dist-server/middlewares/domain-middleware.js +1 -1
  17. package/dist-server/middlewares/domain-middleware.js.map +1 -1
  18. package/dist-server/middlewares/index.js +2 -2
  19. package/dist-server/middlewares/index.js.map +1 -1
  20. package/dist-server/migrations/1000000000000-SeedDomain.js +2 -2
  21. package/dist-server/migrations/1000000000000-SeedDomain.js.map +1 -1
  22. package/dist-server/pubsub-log-transport.js +1 -1
  23. package/dist-server/pubsub-log-transport.js.map +1 -1
  24. package/dist-server/pubsub.js +15 -13
  25. package/dist-server/pubsub.js.map +1 -1
  26. package/dist-server/routers/index.js +1 -1
  27. package/dist-server/schema.js +10 -10
  28. package/dist-server/schema.js.map +1 -1
  29. package/dist-server/server-dev.js +71 -52
  30. package/dist-server/server-dev.js.map +1 -1
  31. package/dist-server/server.js +62 -47
  32. package/dist-server/server.js.map +1 -1
  33. package/dist-server/service/common-types/index.js +1 -1
  34. package/dist-server/service/common-types/list-param.js +15 -15
  35. package/dist-server/service/common-types/list-param.js.map +1 -1
  36. package/dist-server/service/common-types/log.js +5 -5
  37. package/dist-server/service/common-types/log.js.map +1 -1
  38. package/dist-server/service/common-types/object-ref.js +4 -4
  39. package/dist-server/service/common-types/object-ref.js.map +1 -1
  40. package/dist-server/service/directive-transaction/index.js +1 -1
  41. package/dist-server/service/directive-transaction/transaction.js +5 -4
  42. package/dist-server/service/directive-transaction/transaction.js.map +1 -1
  43. package/dist-server/service/domain/domain-resolver.js +43 -41
  44. package/dist-server/service/domain/domain-resolver.js.map +1 -1
  45. package/dist-server/service/domain/domain-types.js +17 -17
  46. package/dist-server/service/domain/domain-types.js.map +1 -1
  47. package/dist-server/service/domain/domain.js +31 -31
  48. package/dist-server/service/domain/domain.js.map +1 -1
  49. package/dist-server/service/index.js +8 -7
  50. package/dist-server/service/index.js.map +1 -1
  51. package/dist-server/service/subscription-data/data-resolver.js +5 -4
  52. package/dist-server/service/subscription-data/data-resolver.js.map +1 -1
  53. package/dist-server/service/subscription-data/data-types.js +4 -4
  54. package/dist-server/service/subscription-data/data-types.js.map +1 -1
  55. package/dist-server/utils/condition-builder.js +25 -26
  56. package/dist-server/utils/condition-builder.js.map +1 -1
  57. package/dist-server/utils/get-domain.js +3 -3
  58. package/dist-server/utils/get-domain.js.map +1 -1
  59. package/dist-server/utils/index.js +1 -1
  60. package/dist-server/utils/list-params-converter.js +21 -21
  61. package/dist-server/utils/list-params-converter.js.map +1 -1
  62. package/dist-server/utils/list-query-builder.js +4 -3
  63. package/dist-server/utils/list-query-builder.js.map +1 -1
  64. package/helps/about/components.md +3 -0
  65. package/helps/about/{common → framework}/redirection.md +0 -0
  66. package/helps/about/framework/typegraphql.md +74 -0
  67. package/helps/about/framework.md +10 -0
  68. package/helps/about/modules.md +3 -1
  69. package/helps/about/things-factory.en.md +3 -0
  70. package/helps/about/things-factory.ko.md +4 -0
  71. package/helps/components/oops-progress.md +73 -0
  72. package/package.json +25 -29
  73. package/server/pubsub.ts +16 -15
  74. package/server/schema.ts +5 -5
  75. package/server/server-dev.ts +55 -36
  76. package/server/server.ts +47 -31
  77. package/server/service/domain/domain-resolver.ts +8 -6
  78. package/server/service/index.ts +12 -5
  79. package/server/utils/condition-builder.ts +23 -25
  80. package/server/utils/list-query-builder.ts +1 -1
  81. package/dist-server/service/directive-transaction/transaction-type.js +0 -11
  82. package/dist-server/service/directive-transaction/transaction-type.js.map +0 -1
@@ -1,11 +1,5 @@
1
- #!/usr/bin/env sh
2
- INSPECT=":9229"
3
- while getopts i: option
4
- do
5
- case "${option}"
6
- in
7
- i) INSPECT=${OPTARG};;
8
- esac
9
- done
10
- node --inspect=$INSPECT -e "'use strict'
11
- require('@things-factory/shell/dist-server/server-dev')" $0 $@
1
+ #!/usr/bin/env node
2
+
3
+ 'use strict'
4
+
5
+ require('@things-factory/shell/dist-server/server-dev')
@@ -4,7 +4,8 @@ import { subscribe } from '../graphql-client'
4
4
  export class OopsProgress extends LitElement {
5
5
  static get properties() {
6
6
  return {
7
- tag: String
7
+ tag: String,
8
+ subscription: Boolean
8
9
  }
9
10
  }
10
11
 
@@ -17,19 +18,26 @@ export class OopsProgress extends LitElement {
17
18
  this.stopSubscribe()
18
19
  }
19
20
 
21
+ get subscription() {
22
+ return this._subscription
23
+ }
24
+
25
+ set subscription(subscription) {
26
+ console.warn('oops-progress#subscription is readonly property')
27
+ }
28
+
20
29
  async updated(changes) {
21
- if (changes.has('tag')) {
30
+ if (changes.has('tag') && this.subscription) {
22
31
  await this.stopSubscribe()
23
- await this.startSubscribe()
24
32
  }
25
33
  }
26
34
 
27
35
  async startSubscribe() {
28
- if (!this.tag || this.subscription) {
36
+ if (!this.tag || this._subscription) {
29
37
  return
30
38
  }
31
39
 
32
- this.subscription = await subscribe(
40
+ this._subscription = await subscribe(
33
41
  {
34
42
  query: `
35
43
  subscription {
@@ -63,8 +71,8 @@ export class OopsProgress extends LitElement {
63
71
  }
64
72
 
65
73
  async stopSubscribe() {
66
- await this.subscription?.unsubscribe()
67
- delete this.subscription
74
+ await this._subscription?.unsubscribe()
75
+ delete this._subscription
68
76
  }
69
77
  }
70
78
 
@@ -1,13 +1,12 @@
1
- import { ApolloClient } from 'apollo-client'
2
- import { InMemoryCache } from 'apollo-cache-inmemory'
3
- import { ApolloLink } from 'apollo-link'
4
- import { HttpLink } from 'apollo-link-http'
5
- import { onError } from 'apollo-link-error'
6
- import { createUploadLink } from 'apollo-upload-client'
7
- import { persistCache } from 'apollo-cache-persist'
1
+ import { ApolloClient, ApolloLink, HttpLink, InMemoryCache, from } from '@apollo/client/core'
2
+
8
3
  import { SubscriptionClient } from 'subscriptions-transport-ws'
4
+ import { createUploadLink } from 'apollo-upload-client'
5
+ import { onError } from '@apollo/client/link/error'
9
6
 
10
- const GRAPHQL_URI = '/graphql'
7
+ // import { persistCache } from 'apollo-cache-persist'
8
+
9
+ export const GRAPHQL_URI = '/graphql'
11
10
 
12
11
  const defaultOptions = {
13
12
  watchQuery: {
@@ -83,19 +82,19 @@ const httpLink = ApolloLink.split(
83
82
  new HttpLink(httpOptions)
84
83
  )
85
84
 
86
- const initPersistCache = async () => {
87
- persistCache({
88
- cache,
89
- storage: window.localStorage
90
- })
91
- }
85
+ // const initPersistCache = async () => {
86
+ // persistCache({
87
+ // cache,
88
+ // storage: window.localStorage
89
+ // })
90
+ // }
92
91
 
93
92
  // initPersistCache()
94
93
 
95
94
  export const client = new ApolloClient({
96
95
  defaultOptions,
97
96
  cache,
98
- link: ApolloLink.from([onError(ERROR_HANDLER), httpLink])
97
+ link: from([onError(ERROR_HANDLER), httpLink])
99
98
  })
100
99
 
101
100
  /* SubscriptionClient */
package/client/index.js CHANGED
@@ -21,8 +21,8 @@ export * from './app/pages/page-view'
21
21
  // graphql-client
22
22
  export * from './graphql-client'
23
23
 
24
- // notification-store
25
- export * from './notification-store'
24
+ // indexdb-store
25
+ export * from './indexdb'
26
26
 
27
27
  // mixins
28
28
  export * from './mixins'
@@ -49,48 +49,49 @@ class Queue {
49
49
  }
50
50
  }
51
51
 
52
- /* ready indexedDB for notification */
53
- export const notificationStore = [
54
- 'add',
55
- 'delete',
56
- 'clear',
57
- 'get',
58
- 'getAll',
59
- 'getAllKeys',
60
- 'count',
61
- 'put',
62
- 'openCursor',
63
- 'openKeyCursor'
64
- ].reduce(
65
- (sum, m) => {
66
- sum[m] = async (...params) => {
67
- const db = await getNotificationDB()
68
- const transaction = db.transaction('notifications', 'readwrite')
69
- const store = transaction.objectStore('notifications')
70
- const request = store[m].apply(store, params)
71
-
72
- return await new Promise((resolve, reject) => {
73
- request.onsuccess = event => {
74
- resolve(event.target.result)
75
- }
52
+ function getStore(storeName) {
53
+ return [
54
+ 'add',
55
+ 'delete',
56
+ 'clear',
57
+ 'get',
58
+ 'getAll',
59
+ 'getAllKeys',
60
+ 'count',
61
+ 'put',
62
+ 'openCursor',
63
+ 'openKeyCursor'
64
+ ].reduce(
65
+ (sum, m) => {
66
+ sum[m] = async (...params) => {
67
+ const db = await getIndexDB()
68
+ const transaction = db.transaction(storeName, 'readwrite')
69
+ const store = transaction.objectStore(storeName)
70
+ const request = store[m].apply(store, params)
76
71
 
77
- request.onerror = event => {
78
- reject(event)
79
- }
80
- })
81
- }
72
+ return await new Promise((resolve, reject) => {
73
+ request.onsuccess = event => {
74
+ resolve(event.target.result)
75
+ }
76
+
77
+ request.onerror = event => {
78
+ reject(event)
79
+ }
80
+ })
81
+ }
82
82
 
83
- return sum
84
- },
85
- {
86
- async limit(limit = 50) {
87
- const keys = (await this.getAllKeys()).slice(0, -limit)
88
- for (let i = 0; i < keys.length; i++) {
89
- await this.delete(keys[i])
83
+ return sum
84
+ },
85
+ {
86
+ async limit(limit = 50) {
87
+ const keys = (await this.getAllKeys()).slice(0, -limit)
88
+ for (let i = 0; i < keys.length; i++) {
89
+ await this.delete(keys[i])
90
+ }
90
91
  }
91
92
  }
92
- }
93
- )
93
+ )
94
+ }
94
95
 
95
96
  function getIndexedDB() {
96
97
  if (typeof window !== 'undefined') {
@@ -102,7 +103,7 @@ function getIndexedDB() {
102
103
 
103
104
  var db
104
105
 
105
- function getNotificationDB() {
106
+ function getIndexDB() {
106
107
  if (db) {
107
108
  return db
108
109
  }
@@ -114,7 +115,7 @@ function getNotificationDB() {
114
115
  if (!indexedDB) {
115
116
  reject('this browser does not support indexedDB')
116
117
  }
117
- const request = getIndexedDB().open('notification-database')
118
+ const request = getIndexedDB().open('things-factory-database')
118
119
 
119
120
  request.onerror = function (event) {
120
121
  console.log("Why didn't you allow my web app to use IndexedDB?!")
@@ -123,8 +124,12 @@ function getNotificationDB() {
123
124
 
124
125
  request.onupgradeneeded = function (event) {
125
126
  var db = event.target.result
127
+
126
128
  var store = db.createObjectStore('notifications', { keyPath: 'id', autoIncrement: true })
127
129
  store.createIndex('notification_id_unqiue', 'id', { unique: true })
130
+
131
+ var store = db.createObjectStore('client_settings', { keyPath: 'key', autoIncrement: true })
132
+ store.createIndex('client_setting_key_unqiue', 'key', { unique: true })
128
133
  }
129
134
 
130
135
  request.onsuccess = function (event) {
@@ -135,3 +140,7 @@ function getNotificationDB() {
135
140
  })
136
141
  )
137
142
  }
143
+
144
+ /* ready indexedDB Stores */
145
+ export const clientSettingStore = getStore('client_settings')
146
+ export const notificationStore = getStore('notifications')
@@ -4,7 +4,7 @@ import { registerRoute, NavigationRoute } from 'workbox-routing'
4
4
  import { precacheAndRoute, cleanupOutdatedCaches } from 'workbox-precaching'
5
5
  import { StaleWhileRevalidate, NetworkFirst, CacheFirst, CacheOnly, NetworkOnly } from 'workbox-strategies'
6
6
  import 'broadcastchannel-polyfill'
7
- import { notificationStore } from '../notification-store'
7
+ import { notificationStore } from '../indexdb'
8
8
 
9
9
  const ENV = process.env
10
10
  const production = ENV['NODE-ENV'] == 'production'
@@ -1,21 +1,21 @@
1
1
  body {
2
2
  /* oops note style */
3
- --oops-note-icon-font: normal 32px var(--mdc-icon-font, 'Material Icons');
4
- --oops-note-icon-color: rgba(91, 154, 186, 0.8);
5
- --oops-note-icon-border: 4px solid rgba(91, 154, 186, 0.4);
3
+ --oops-note-icon-font: normal 24px var(--mdc-icon-font, 'Material Icons');
4
+ --oops-note-icon-color: rgba(var(--secondary-color-rgb), 0.3);
5
+ --oops-note-icon-border: 2px solid rgba(var(--secondary-color-rgb), 0.3);
6
6
  --oops-note-icon-border-radius: 50px;
7
- --oops-note-icon-padding: 10px;
8
- --oops-note-title-margin: 12px 0 2px 0;
9
- --oops-note-title-font: bold 16px var(--theme-font);
7
+ --oops-note-icon-padding: var(--padding-default);
8
+ --oops-note-title-margin: 7px 0 2px 0;
9
+ --oops-note-title-font: bold 14px var(--theme-font);
10
10
  --oops-note-title-color: var(--secondary-color);
11
- --oops-note-description-font: normal 13px var(--theme-font);
11
+ --oops-note-description-font: normal 12px var(--theme-font);
12
12
  --oops-note-description-color: var(--primary-color);
13
13
  }
14
14
  @media only screen and (max-width: 460px) {
15
15
  body {
16
16
  --oops-note-icon-padding: var(--padding-narrow);
17
- --oops-note-icon-font: normal 24px var(--mdc-icon-font, 'Material Icons');
18
- --oops-note-title-font: bold 14px var(--theme-font);
17
+ --oops-note-icon-font: normal 18px var(--mdc-icon-font, 'Material Icons');
18
+ --oops-note-title-font: bold 13px var(--theme-font);
19
19
  --oops-note-title-margin: var(--margin-narrow) 0 2px 0;
20
20
  --oops-note-description-font: normal 0px var(--theme-font);
21
21
  }
@@ -26,13 +26,24 @@ module.exports = {
26
26
  * pubsub configuration
27
27
  * ie.
28
28
  * pubsub: {
29
- * middleware: 'redis', // empty, redis, mqtt
29
+ * middleware: 'redis', // empty, redis, mqtt, redisCluster
30
30
  * host: 'redis',
31
31
  * port: 6379,
32
32
  * options: {
33
33
  * ...
34
34
  * }
35
35
  * }
36
+ *
37
+ * pubsub: {
38
+ * middleware: 'redisCluster', // empty, redis, mqtt, redisCluster
39
+ * nodes: [
40
+ * { host: '{endpoint1}', port: 6379 },
41
+ * { host: '{endpoint2}', port: 6379 },
42
+ * ]
43
+ * options: {
44
+ * ...
45
+ * }
46
+ * }
36
47
  *
37
48
  * pubsub: {
38
49
  * middleware: 'mqtt',
@@ -19,7 +19,7 @@ class GraphqlLocalClient {
19
19
  // Execute the actual operation
20
20
  const res = await executeOperation({
21
21
  variables,
22
- query: typeof operation === 'string' ? operation : graphql_1.print(operation)
22
+ query: typeof operation === 'string' ? operation : (0, graphql_1.print)(operation)
23
23
  });
24
24
  // Throw an error with all the messages of the
25
25
  // errors to make them easy to match using Jest
@@ -1 +1 @@
1
- {"version":3,"file":"graphql-local-client.js","sourceRoot":"","sources":["../server/graphql-local-client.ts"],"names":[],"mappings":";;;AAAA,2DAAqD;AAErD,qCAA6C;AA4B7C,MAAa,kBAAkB;IAG7B,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG;QACrB,MAAM,OAAO,GAAG,KAAK,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE;YAChE,8CAA8C;YAC9C,MAAM,MAAM,GAAG,IAAI,qCAAgB,CAAC;gBAClC,MAAM;gBACN,OAAO,kCAOF,OAAO,KACV,GAAG,GACJ;aACF,CAAC,CAAA;YAEF,MAAM,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YAC7D,MAAM,SAAS,GAAG,KAAK,IAAI,QAAQ,CAAA;YACnC,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE;gBACzC,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAA;aACzE;YAED,+BAA+B;YAC/B,MAAM,GAAG,GAAG,MAAM,gBAAgB,CAAC;gBACjC,SAAS;gBACT,KAAK,EAAE,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,eAAK,CAAC,SAAS,CAAC;aACpE,CAAC,CAAA;YAEF,8CAA8C;YAC9C,+CAA+C;YAC/C,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;gBACvC,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBACjE,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAA;aACzB;YAED,OAAO,GAAG,CAAA;QACZ,CAAC,CAAA;QAED,kBAAkB,CAAC,MAAM,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAA;IACjE,CAAC;CACF;AA5CD,gDA4CC"}
1
+ {"version":3,"file":"graphql-local-client.js","sourceRoot":"","sources":["../server/graphql-local-client.ts"],"names":[],"mappings":";;;AAAA,2DAAqD;AAErD,qCAA6C;AA4B7C,MAAa,kBAAkB;IAG7B,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG;QACrB,MAAM,OAAO,GAAG,KAAK,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE;YAChE,8CAA8C;YAC9C,MAAM,MAAM,GAAG,IAAI,qCAAgB,CAAC;gBAClC,MAAM;gBACN,OAAO,kCAOF,OAAO,KACV,GAAG,GACJ;aACF,CAAC,CAAA;YAEF,MAAM,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YAC7D,MAAM,SAAS,GAAG,KAAK,IAAI,QAAQ,CAAA;YACnC,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE;gBACzC,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAA;aACzE;YAED,+BAA+B;YAC/B,MAAM,GAAG,GAAG,MAAM,gBAAgB,CAAC;gBACjC,SAAS;gBACT,KAAK,EAAE,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAA,eAAK,EAAC,SAAS,CAAC;aACpE,CAAC,CAAA;YAEF,8CAA8C;YAC9C,+CAA+C;YAC/C,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;gBACvC,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBACjE,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAA;aACzB;YAED,OAAO,GAAG,CAAA;QACZ,CAAC,CAAA;QAED,kBAAkB,CAAC,MAAM,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAA;IACjE,CAAC;CACF;AA5CD,gDA4CC"}
@@ -7,7 +7,7 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
7
7
  o[k2] = m[k];
8
8
  }));
9
9
  var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
- for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
11
  };
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
13
  __exportStar(require("./migrations"), exports);
@@ -11,9 +11,9 @@ try {
11
11
  catch (e) {
12
12
  ormconfig = require('@things-factory/shell/ormconfig');
13
13
  }
14
- exports.databaseInitializer = async () => {
14
+ const databaseInitializer = async () => {
15
15
  try {
16
- const connection = await typeorm_1.createConnection(ormconfig);
16
+ const connection = await (0, typeorm_1.createConnection)(ormconfig);
17
17
  env_1.logger.info('Database connection established');
18
18
  if (ormconfig.type == 'sqlite' && ormconfig.synchronize == false) {
19
19
  await connection.query('PRAGMA foreign_keys=OFF');
@@ -26,4 +26,5 @@ exports.databaseInitializer = async () => {
26
26
  env_1.logger.error(e);
27
27
  }
28
28
  };
29
+ exports.databaseInitializer = databaseInitializer;
29
30
  //# sourceMappingURL=database.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"database.js","sourceRoot":"","sources":["../../server/initializers/database.ts"],"names":[],"mappings":";;;AAAA,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;AAE5B,qCAA0C;AAC1C,6CAAyD;AAEzD,IAAI,SAAS,CAAA;AACb,IAAI;IACF,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAW,EAAE,WAAW,CAAC,CAAC,CAAA;CAC5D;AAAC,OAAO,CAAC,EAAE;IACV,SAAS,GAAG,OAAO,CAAC,iCAAiC,CAAC,CAAA;CACvD;AAEY,QAAA,mBAAmB,GAAG,KAAK,IAAI,EAAE;IAC5C,IAAI;QACF,MAAM,UAAU,GAAG,MAAM,0BAAgB,CAAC,SAAS,CAAC,CAAA;QACpD,YAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAA;QAE9C,IAAI,SAAS,CAAC,IAAI,IAAI,QAAQ,IAAI,SAAS,CAAC,WAAW,IAAI,KAAK,EAAE;YAChE,MAAM,UAAU,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAA;YACjD,MAAM,UAAU,CAAC,WAAW,EAAE,CAAA;YAC9B,MAAM,UAAU,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAA;SACjD;QAED,OAAO,UAAU,CAAA;KAClB;IAAC,OAAO,CAAC,EAAE;QACV,YAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;KAChB;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"database.js","sourceRoot":"","sources":["../../server/initializers/database.ts"],"names":[],"mappings":";;;AAAA,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;AAE5B,qCAA0C;AAC1C,6CAAyD;AAEzD,IAAI,SAAS,CAAA;AACb,IAAI;IACF,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAW,EAAE,WAAW,CAAC,CAAC,CAAA;CAC5D;AAAC,OAAO,CAAC,EAAE;IACV,SAAS,GAAG,OAAO,CAAC,iCAAiC,CAAC,CAAA;CACvD;AAEM,MAAM,mBAAmB,GAAG,KAAK,IAAI,EAAE;IAC5C,IAAI;QACF,MAAM,UAAU,GAAG,MAAM,IAAA,0BAAgB,EAAC,SAAS,CAAC,CAAA;QACpD,YAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAA;QAE9C,IAAI,SAAS,CAAC,IAAI,IAAI,QAAQ,IAAI,SAAS,CAAC,WAAW,IAAI,KAAK,EAAE;YAChE,MAAM,UAAU,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAA;YACjD,MAAM,UAAU,CAAC,WAAW,EAAE,CAAA;YAC9B,MAAM,UAAU,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAA;SACjD;QAED,OAAO,UAAU,CAAA;KAClB;IAAC,OAAO,CAAC,EAAE;QACV,YAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;KAChB;AACH,CAAC,CAAA;AAfY,QAAA,mBAAmB,uBAe/B"}
@@ -9,7 +9,7 @@ const pluralize_1 = __importDefault(require("pluralize"));
9
9
  const lodash_1 = __importDefault(require("lodash"));
10
10
  class NamingStrategy extends typeorm_1.DefaultNamingStrategy {
11
11
  tableName(targetName, userSpecifiedName) {
12
- return userSpecifiedName || pluralize_1.default(lodash_1.default.snakeCase(targetName));
12
+ return userSpecifiedName || (0, pluralize_1.default)(lodash_1.default.snakeCase(targetName));
13
13
  }
14
14
  columnName(propertyName, customName, embeddedPrefixes) {
15
15
  return lodash_1.default.snakeCase(embeddedPrefixes.concat(customName || propertyName).join('_'));
@@ -1 +1 @@
1
- {"version":3,"file":"naming-strategy.js","sourceRoot":"","sources":["../../server/initializers/naming-strategy.ts"],"names":[],"mappings":";;;;;;AACA,qCAA+C;AAC/C,0DAAiC;AACjC,oDAAsB;AAEtB,MAAa,cAAe,SAAQ,+BAAqB;IACvD,SAAS,CAAC,UAAkB,EAAE,iBAAyB;QACrD,OAAO,iBAAiB,IAAI,mBAAS,CAAC,gBAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAA;IAChE,CAAC;IAED,UAAU,CAAC,YAAoB,EAAE,UAAkB,EAAE,gBAA0B;QAC7E,OAAO,gBAAC,CAAC,SAAS,CAAC,gBAAgB,CAAC,MAAM,CAAC,UAAU,IAAI,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;IACnF,CAAC;CACF;AARD,wCAQC"}
1
+ {"version":3,"file":"naming-strategy.js","sourceRoot":"","sources":["../../server/initializers/naming-strategy.ts"],"names":[],"mappings":";;;;;;AACA,qCAA+C;AAC/C,0DAAiC;AACjC,oDAAsB;AAEtB,MAAa,cAAe,SAAQ,+BAAqB;IACvD,SAAS,CAAC,UAAkB,EAAE,iBAAyB;QACrD,OAAO,iBAAiB,IAAI,IAAA,mBAAS,EAAC,gBAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAA;IAChE,CAAC;IAED,UAAU,CAAC,YAAoB,EAAE,UAAkB,EAAE,gBAA0B;QAC7E,OAAO,gBAAC,CAAC,SAAS,CAAC,gBAAgB,CAAC,MAAM,CAAC,UAAU,IAAI,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;IACnF,CAAC;CACF;AARD,wCAQC"}
@@ -15,7 +15,7 @@ async function domainMiddleware(context, next) {
15
15
  * For purposes such as API calls, the target domainType may be different from the system domainType.
16
16
  * So, we don't check domainType here.
17
17
  */
18
- context.state.domain = await utils_1.getDomainFromURL(context);
18
+ context.state.domain = await (0, utils_1.getDomainFromURL)(context);
19
19
  debug('subdomain', context.path, (_a = context.state.domain) === null || _a === void 0 ? void 0 : _a.subdomain);
20
20
  await next();
21
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"domain-middleware.js","sourceRoot":"","sources":["../../server/middlewares/domain-middleware.ts"],"names":[],"mappings":";;;AAAA,oCAA2C;AAE3C,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,wCAAwC,CAAC,CAAA;AAEjE,KAAK,UAAU,gBAAgB,CAAC,OAAY,EAAE,IAAS;;IAC5D,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAChC,IAAI,MAAM,EAAE;QACV,KAAK,CAAC,sBAAsB,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,CAAA;QAC7D,OAAO,MAAM,IAAI,EAAE,CAAA;KACpB;IAED;;;;OAIG;IACH,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,wBAAgB,CAAC,OAAO,CAAC,CAAA;IAEtD,KAAK,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,QAAE,OAAO,CAAC,KAAK,CAAC,MAAM,0CAAE,SAAS,CAAC,CAAA;IAEjE,MAAM,IAAI,EAAE,CAAA;AACd,CAAC;AAjBD,4CAiBC"}
1
+ {"version":3,"file":"domain-middleware.js","sourceRoot":"","sources":["../../server/middlewares/domain-middleware.ts"],"names":[],"mappings":";;;AAAA,oCAA2C;AAE3C,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,wCAAwC,CAAC,CAAA;AAEjE,KAAK,UAAU,gBAAgB,CAAC,OAAY,EAAE,IAAS;;IAC5D,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAChC,IAAI,MAAM,EAAE;QACV,KAAK,CAAC,sBAAsB,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,CAAA;QAC7D,OAAO,MAAM,IAAI,EAAE,CAAA;KACpB;IAED;;;;OAIG;IACH,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,IAAA,wBAAgB,EAAC,OAAO,CAAC,CAAA;IAEtD,KAAK,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,EAAE,MAAA,OAAO,CAAC,KAAK,CAAC,MAAM,0CAAE,SAAS,CAAC,CAAA;IAEjE,MAAM,IAAI,EAAE,CAAA;AACd,CAAC;AAjBD,4CAiBC"}
@@ -7,7 +7,7 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
7
7
  o[k2] = m[k];
8
8
  }));
9
9
  var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
- for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
11
  };
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
13
  exports.initMiddlewares = void 0;
@@ -41,7 +41,7 @@ function initMiddlewares(app) {
41
41
  app.use(async (context, next) => {
42
42
  const { method, path } = context;
43
43
  if (method == 'POST' && path.startsWith('/graphql')) {
44
- return await domain_middleware_1.domainMiddleware(context, next);
44
+ return await (0, domain_middleware_1.domainMiddleware)(context, next);
45
45
  }
46
46
  await next();
47
47
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../server/middlewares/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,6CAAoD;AACpD,2DAAsD;AAEtD,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,iCAAiC,CAAC,CAAA;AAEjE,SAAgB,eAAe,CAAC,GAAG;IACjC,GAAG,CAAC,eAAe,GAAG,YAAM,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAA;IAEtD,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;QAC/B,YAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACnB,CAAC,CAAC,CAAA;IAEF;;;OAGG;IACH,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QAC9B,IAAI;YACF,MAAM,IAAI,EAAE,CAAA;SACb;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAA;YAClC,OAAO,CAAC,IAAI,GAAG,GAAG,CAAC,OAAO,CAAA;YAE1B,yCAAyC;YACzC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,CAAA;SACxC;IACH,CAAC,CAAC,CAAA;IAEF;;;OAGG;IACH,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QAC9B,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAA;QAEhC,IAAI,MAAM,IAAI,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE;YACnD,OAAO,MAAM,oCAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;SAC7C;QAED,MAAM,IAAI,EAAE,CAAA;IACd,CAAC,CAAC,CAAA;AACJ,CAAC;AApCD,0CAoCC;AAED,OAAO,CAAC,EAAE,CAAC,+BAAsC,EAAE,CAAC,GAAG,EAAE,sBAAsB,EAAE,EAAE;IACjF,KAAK,CAAC,+BAA+B,CAAC,CAAA;IAEtC,sBAAsB,CAAC,IAAI,CAAC,oCAAgB,CAAC,CAAA;AAC/C,CAAC,CAAC,CAAA;AAEF,sDAAmC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../server/middlewares/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,6CAAoD;AACpD,2DAAsD;AAEtD,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,iCAAiC,CAAC,CAAA;AAEjE,SAAgB,eAAe,CAAC,GAAG;IACjC,GAAG,CAAC,eAAe,GAAG,YAAM,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAA;IAEtD,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;QAC/B,YAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACnB,CAAC,CAAC,CAAA;IAEF;;;OAGG;IACH,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QAC9B,IAAI;YACF,MAAM,IAAI,EAAE,CAAA;SACb;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAA;YAClC,OAAO,CAAC,IAAI,GAAG,GAAG,CAAC,OAAO,CAAA;YAE1B,yCAAyC;YACzC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,CAAA;SACxC;IACH,CAAC,CAAC,CAAA;IAEF;;;OAGG;IACH,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QAC9B,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAA;QAEhC,IAAI,MAAM,IAAI,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE;YACnD,OAAO,MAAM,IAAA,oCAAgB,EAAC,OAAO,EAAE,IAAI,CAAC,CAAA;SAC7C;QAED,MAAM,IAAI,EAAE,CAAA;IACd,CAAC,CAAC,CAAA;AACJ,CAAC;AApCD,0CAoCC;AAED,OAAO,CAAC,EAAE,CAAC,+BAAsC,EAAE,CAAC,GAAG,EAAE,sBAAsB,EAAE,EAAE;IACjF,KAAK,CAAC,+BAA+B,CAAC,CAAA;IAEtC,sBAAsB,CAAC,IAAI,CAAC,oCAAgB,CAAC,CAAA;AAC/C,CAAC,CAAC,CAAA;AAEF,sDAAmC"}
@@ -12,13 +12,13 @@ const SEED_DOMAINS = [
12
12
  ];
13
13
  class SeedDomain1000000000000 {
14
14
  async up(queryRunner) {
15
- const repository = typeorm_1.getRepository(domain_1.Domain);
15
+ const repository = (0, typeorm_1.getRepository)(domain_1.Domain);
16
16
  return await Promise.all(SEED_DOMAINS.map(async (domain) => {
17
17
  await repository.save(Object.assign({}, domain));
18
18
  }));
19
19
  }
20
20
  async down(queryRunner) {
21
- const repository = typeorm_1.getRepository(domain_1.Domain);
21
+ const repository = (0, typeorm_1.getRepository)(domain_1.Domain);
22
22
  return await Promise.all(SEED_DOMAINS.reverse().map(async (domain) => {
23
23
  let recode = await repository.findOne({ subdomain: domain.subdomain });
24
24
  await repository.remove(recode);
@@ -1 +1 @@
1
- {"version":3,"file":"1000000000000-SeedDomain.js","sourceRoot":"","sources":["../../server/migrations/1000000000000-SeedDomain.ts"],"names":[],"mappings":";;;AAAA,qCAAwE;AACxE,qDAAiD;AAEjD,MAAM,YAAY,GAAG;IACnB;QACE,IAAI,EAAE,QAAQ;QACd,SAAS,EAAE,QAAQ;QACnB,UAAU,EAAE,IAAI;KACjB;CACF,CAAA;AAED,MAAa,uBAAuB;IAC3B,KAAK,CAAC,EAAE,CAAC,WAAwB;QACtC,MAAM,UAAU,GAAG,uBAAa,CAAC,eAAM,CAAC,CAAA;QAExC,OAAO,MAAM,OAAO,CAAC,GAAG,CACtB,YAAY,CAAC,GAAG,CAAC,KAAK,EAAC,MAAM,EAAC,EAAE;YAC9B,MAAM,UAAU,CAAC,IAAI,mBAChB,MAAM,EACT,CAAA;QACJ,CAAC,CAAC,CACH,CAAA;IACH,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,WAAwB;QACxC,MAAM,UAAU,GAAG,uBAAa,CAAC,eAAM,CAAC,CAAA;QAExC,OAAO,MAAM,OAAO,CAAC,GAAG,CACtB,YAAY,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,KAAK,EAAC,MAAM,EAAC,EAAE;YACxC,IAAI,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAA;YACtE,MAAM,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QACjC,CAAC,CAAC,CACH,CAAA;IACH,CAAC;CACF;AAvBD,0DAuBC"}
1
+ {"version":3,"file":"1000000000000-SeedDomain.js","sourceRoot":"","sources":["../../server/migrations/1000000000000-SeedDomain.ts"],"names":[],"mappings":";;;AAAA,qCAAwE;AACxE,qDAAiD;AAEjD,MAAM,YAAY,GAAG;IACnB;QACE,IAAI,EAAE,QAAQ;QACd,SAAS,EAAE,QAAQ;QACnB,UAAU,EAAE,IAAI;KACjB;CACF,CAAA;AAED,MAAa,uBAAuB;IAC3B,KAAK,CAAC,EAAE,CAAC,WAAwB;QACtC,MAAM,UAAU,GAAG,IAAA,uBAAa,EAAC,eAAM,CAAC,CAAA;QAExC,OAAO,MAAM,OAAO,CAAC,GAAG,CACtB,YAAY,CAAC,GAAG,CAAC,KAAK,EAAC,MAAM,EAAC,EAAE;YAC9B,MAAM,UAAU,CAAC,IAAI,mBAChB,MAAM,EACT,CAAA;QACJ,CAAC,CAAC,CACH,CAAA;IACH,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,WAAwB;QACxC,MAAM,UAAU,GAAG,IAAA,uBAAa,EAAC,eAAM,CAAC,CAAA;QAExC,OAAO,MAAM,OAAO,CAAC,GAAG,CACtB,YAAY,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,KAAK,EAAC,MAAM,EAAC,EAAE;YACxC,IAAI,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAA;YACtE,MAAM,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QACjC,CAAC,CAAC,CACH,CAAA;IACH,CAAC;CACF;AAvBD,0DAuBC"}
@@ -12,7 +12,7 @@ class PubSubLogTransport extends winston_transport_1.default {
12
12
  super(opts);
13
13
  this.topic = opts.topic;
14
14
  this.source = opts.source;
15
- this.resolver = opts.resolver || camelCase_1.default(this.topic);
15
+ this.resolver = opts.resolver || (0, camelCase_1.default)(this.topic);
16
16
  }
17
17
  log(info, callback) {
18
18
  setImmediate(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"pubsub-log-transport.js","sourceRoot":"","sources":["../server/pubsub-log-transport.ts"],"names":[],"mappings":";;;;;;AAAA,iEAAwC;AACxC,0EAAyC;AACzC,qCAAiC;AAEjC,MAAa,kBAAmB,SAAQ,2BAAS;IAK/C,YAAY,IAAI;QACd,KAAK,CAAC,IAAI,CAAC,CAAA;QAEX,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;QACvB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QACzB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,mBAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACxD,CAAC;IAED,GAAG,CAAC,IAAI,EAAE,QAAQ;QAChB,YAAY,CAAC,GAAG,EAAE;YAChB,eAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE;gBACzB,CAAC,IAAI,CAAC,QAAQ,CAAC,kBACb,MAAM,EAAE,IAAI,CAAC,MAAM,IAChB,IAAI,CACR;aACF,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;QAEF,QAAQ,EAAE,CAAA;IACZ,CAAC;CACF;AAzBD,gDAyBC"}
1
+ {"version":3,"file":"pubsub-log-transport.js","sourceRoot":"","sources":["../server/pubsub-log-transport.ts"],"names":[],"mappings":";;;;;;AAAA,iEAAwC;AACxC,0EAAyC;AACzC,qCAAiC;AAEjC,MAAa,kBAAmB,SAAQ,2BAAS;IAK/C,YAAY,IAAI;QACd,KAAK,CAAC,IAAI,CAAC,CAAA;QAEX,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;QACvB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QACzB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAA,mBAAS,EAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACxD,CAAC;IAED,GAAG,CAAC,IAAI,EAAE,QAAQ;QAChB,YAAY,CAAC,GAAG,EAAE;YAChB,eAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE;gBACzB,CAAC,IAAI,CAAC,QAAQ,CAAC,kBACb,MAAM,EAAE,IAAI,CAAC,MAAM,IAChB,IAAI,CACR;aACF,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;QAEF,QAAQ,EAAE,CAAA;IACZ,CAAC;CACF;AAzBD,gDAyBC"}
@@ -4,27 +4,20 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.pubsub = void 0;
7
- const env_1 = require("@things-factory/env");
8
- const { middleware, host, port, options } = env_1.config.get('pubsub', {});
9
- const graphql_subscriptions_1 = require("graphql-subscriptions");
7
+ const graphql_mqtt_subscriptions_1 = require("graphql-mqtt-subscriptions");
10
8
  const graphql_redis_subscriptions_1 = require("graphql-redis-subscriptions");
9
+ const graphql_subscriptions_1 = require("graphql-subscriptions");
11
10
  const ioredis_1 = __importDefault(require("ioredis"));
12
11
  const mqtt_1 = require("mqtt");
13
- const graphql_mqtt_subscriptions_1 = require("graphql-mqtt-subscriptions");
12
+ const env_1 = require("@things-factory/env");
13
+ const { middleware, host, port, nodes, options } = env_1.config.get('pubsub', {});
14
14
  const debug = require('debug')('things-factory:shell');
15
- // override publish because payload of redis publish is required string only.
16
- class MyRedisPubSub extends graphql_redis_subscriptions_1.RedisPubSub {
17
- publish(trigger, payload) {
18
- debug('payload', payload);
19
- return super.publish(trigger, JSON.stringify(payload));
20
- }
21
- }
22
15
  let pubsub;
23
16
  exports.pubsub = pubsub;
24
17
  switch (middleware) {
25
18
  case 'mqtt':
26
19
  exports.pubsub = pubsub = new graphql_mqtt_subscriptions_1.MQTTPubSub({
27
- client: mqtt_1.connect('mqtt://' + host, Object.assign({ reconnectPeriod: 1000 }, options))
20
+ client: (0, mqtt_1.connect)('mqtt://' + host, Object.assign({ reconnectPeriod: 1000 }, options))
28
21
  });
29
22
  break;
30
23
  case 'redis':
@@ -33,11 +26,20 @@ switch (middleware) {
33
26
  // reconnect after
34
27
  return Math.min(times * 50, 2000);
35
28
  } }, options);
36
- exports.pubsub = pubsub = new MyRedisPubSub({
29
+ exports.pubsub = pubsub = new graphql_redis_subscriptions_1.RedisPubSub({
37
30
  publisher: new ioredis_1.default(redisOption),
38
31
  subscriber: new ioredis_1.default(redisOption)
39
32
  });
33
+ break;
34
+ case 'redisCluster':
35
+ const cluster = new ioredis_1.default.Cluster(nodes, options);
36
+ exports.pubsub = pubsub = new graphql_redis_subscriptions_1.RedisPubSub({
37
+ publisher: cluster,
38
+ subscriber: cluster
39
+ });
40
+ break;
40
41
  default:
41
42
  exports.pubsub = pubsub = new graphql_subscriptions_1.PubSub();
43
+ break;
42
44
  }
43
45
  //# sourceMappingURL=pubsub.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pubsub.js","sourceRoot":"","sources":["../server/pubsub.ts"],"names":[],"mappings":";;;;;;AAAA,6CAA4C;AAC5C,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,YAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;AAEpE,iEAA8C;AAC9C,6EAAyD;AACzD,sDAA2B;AAE3B,+BAA8B;AAC9B,2EAAuD;AAEvD,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,sBAAsB,CAAC,CAAA;AAEtD,6EAA6E;AAC7E,MAAM,aAAc,SAAQ,yCAAW;IACrC,OAAO,CAAC,OAAe,EAAE,OAAY;QACnC,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;QACzB,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAA;IACxD,CAAC;CACF;AAED,IAAI,MAAW,CAAA;AA6BN,wBAAM;AA3Bf,QAAQ,UAAU,EAAE;IAClB,KAAK,MAAM;QACT,iBAAA,MAAM,GAAG,IAAI,uCAAU,CAAC;YACtB,MAAM,EAAE,cAAO,CAAC,SAAS,GAAG,IAAI,kBAC9B,eAAe,EAAE,IAAI,IAClB,OAAO,EACH;SACV,CAAC,CAAA;QACF,MAAK;IACP,KAAK,OAAO;QACV,MAAM,WAAW,mBACf,IAAI;YACJ,IAAI,EACJ,aAAa,EAAE,KAAK,CAAC,EAAE;gBACrB,kBAAkB;gBAClB,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,EAAE,EAAE,IAAI,CAAC,CAAA;YACnC,CAAC,IACE,OAAO,CACX,CAAA;QACD,iBAAA,MAAM,GAAG,IAAI,aAAa,CAAC;YACzB,SAAS,EAAE,IAAI,iBAAK,CAAC,WAAW,CAAC;YACjC,UAAU,EAAE,IAAI,iBAAK,CAAC,WAAW,CAAC;SACnC,CAAC,CAAA;IACJ;QACE,iBAAA,MAAM,GAAG,IAAI,8BAAM,EAAE,CAAA;CACxB"}
1
+ {"version":3,"file":"pubsub.js","sourceRoot":"","sources":["../server/pubsub.ts"],"names":[],"mappings":";;;;;;AAAA,2EAAuD;AACvD,6EAAyD;AACzD,iEAA8C;AAC9C,sDAA2B;AAC3B,+BAA8B;AAE9B,6CAA4C;AAE5C,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,YAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;AAE3E,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,sBAAsB,CAAC,CAAA;AAEtD,IAAI,MAAW,CAAA;AAsCN,wBAAM;AApCf,QAAQ,UAAU,EAAE;IAClB,KAAK,MAAM;QACT,iBAAA,MAAM,GAAG,IAAI,uCAAU,CAAC;YACtB,MAAM,EAAE,IAAA,cAAO,EAAC,SAAS,GAAG,IAAI,kBAC9B,eAAe,EAAE,IAAI,IAClB,OAAO,EACH;SACV,CAAC,CAAA;QACF,MAAK;IACP,KAAK,OAAO;QACV,MAAM,WAAW,mBACf,IAAI;YACJ,IAAI,EACJ,aAAa,EAAE,KAAK,CAAC,EAAE;gBACrB,kBAAkB;gBAClB,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,EAAE,EAAE,IAAI,CAAC,CAAA;YACnC,CAAC,IACE,OAAO,CACX,CAAA;QACD,iBAAA,MAAM,GAAG,IAAI,yCAAW,CAAC;YACvB,SAAS,EAAE,IAAI,iBAAK,CAAC,WAAW,CAAC;YACjC,UAAU,EAAE,IAAI,iBAAK,CAAC,WAAW,CAAC;SACnC,CAAC,CAAA;QACF,MAAK;IACP,KAAK,cAAc;QACjB,MAAM,OAAO,GAAG,IAAI,iBAAK,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;QACjD,iBAAA,MAAM,GAAG,IAAI,yCAAW,CAAC;YACvB,SAAS,EAAE,OAAO;YAClB,UAAU,EAAE,OAAO;SACpB,CAAC,CAAA;QACF,MAAK;IACP;QACE,iBAAA,MAAM,GAAG,IAAI,8BAAM,EAAE,CAAA;QACrB,MAAK;CACR"}
@@ -7,7 +7,7 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
7
7
  o[k2] = m[k];
8
8
  }));
9
9
  var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
- for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
11
  };
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
13
  __exportStar(require("./global-router"), exports);
@@ -1,23 +1,23 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.schema = void 0;
4
+ const env_1 = require("@things-factory/env");
5
+ const graphql_upload_1 = require("graphql-upload");
4
6
  const type_graphql_1 = require("type-graphql");
5
- const merge_1 = require("@graphql-tools/merge");
6
7
  const utils_1 = require("@things-factory/utils");
7
- const graphql_upload_1 = require("graphql-upload");
8
- const env_1 = require("@things-factory/env");
8
+ const schema_1 = require("@graphql-tools/schema");
9
9
  async function schema() {
10
10
  const schemas = env_1.orderedModuleNames
11
- .map(dep => env_1.loader(dep).schema)
11
+ .map(dep => (0, env_1.loader)(dep).schema)
12
12
  .filter(schema => schema)
13
13
  .reduce((sum, schema) => {
14
14
  const { typeDefs, resolvers, resolverClasses, directives } = sum;
15
15
  let { typeDefs: sTypeDefs = {}, resolvers: sResolvers = {}, resolverClasses: sResolverClasses = [], directives: sDirectives = {} } = schema;
16
16
  return {
17
- typeDefs: utils_1.deepMerge(typeDefs, sTypeDefs),
18
- resolvers: utils_1.deepMerge(resolvers, sResolvers),
17
+ typeDefs: (0, utils_1.deepMerge)(typeDefs, sTypeDefs),
18
+ resolvers: (0, utils_1.deepMerge)(resolvers, sResolvers),
19
19
  resolverClasses: [...resolverClasses, ...(sResolverClasses || [])],
20
- directives: utils_1.deepMerge(directives, sDirectives)
20
+ directives: (0, utils_1.deepMerge)(directives, sDirectives)
21
21
  };
22
22
  }, {
23
23
  typeDefs: {},
@@ -89,10 +89,10 @@ async function schema() {
89
89
  delete resolvers.Mutation;
90
90
  delete resolvers.Subscription;
91
91
  delete resolvers.Directive;
92
- resolvers = Object.assign({ Upload: graphql_upload_1.GraphQLUpload, Query: utils_1.deepMerge(Query, queryResolvers), Mutation: utils_1.deepMerge(Mutation, mutationResolvers), Subscription: utils_1.deepMerge(Subscription, subscriptionResolvers) }, resolvers);
93
- var merged = merge_1.mergeSchemas({
92
+ resolvers = Object.assign({ Upload: graphql_upload_1.GraphQLUpload, Query: (0, utils_1.deepMerge)(Query, queryResolvers), Mutation: (0, utils_1.deepMerge)(Mutation, mutationResolvers), Subscription: (0, utils_1.deepMerge)(Subscription, subscriptionResolvers) }, resolvers);
93
+ var merged = (0, schema_1.mergeSchemas)({
94
94
  schemas: [
95
- await type_graphql_1.buildSchema({
95
+ await (0, type_graphql_1.buildSchema)({
96
96
  resolvers: schemas.resolverClasses,
97
97
  dateScalarMode: 'timestamp'
98
98
  })
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../server/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../server/schema.ts"],"names":[],"mappings":"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"}