@things-factory/shell 8.0.37 → 9.0.0-9.0.0-beta.59.0

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 (180) hide show
  1. package/_index.html +0 -1
  2. package/bin/things-factory-migration +6 -3
  3. package/client/themes/calendar-theme.css +3 -1
  4. package/client/themes/index.css +2 -1
  5. package/dist-server/index.d.ts +12 -12
  6. package/dist-server/index.js +12 -12
  7. package/dist-server/index.js.map +1 -1
  8. package/dist-server/initializers/database.js +4 -10
  9. package/dist-server/initializers/database.js.map +1 -1
  10. package/dist-server/initializers/ormconfig.d.ts +2 -0
  11. package/dist-server/initializers/ormconfig.js +30 -0
  12. package/dist-server/initializers/ormconfig.js.map +1 -0
  13. package/dist-server/middlewares/domain-middleware.js +2 -2
  14. package/dist-server/middlewares/domain-middleware.js.map +1 -1
  15. package/dist-server/middlewares/index.d.ts +1 -1
  16. package/dist-server/middlewares/index.js +3 -3
  17. package/dist-server/middlewares/index.js.map +1 -1
  18. package/dist-server/migrations/1000000000000-SeedDomain.js +4 -4
  19. package/dist-server/migrations/1000000000000-SeedDomain.js.map +1 -1
  20. package/dist-server/migrations/index.js.map +1 -1
  21. package/dist-server/process-cleaner.d.ts +1 -0
  22. package/dist-server/process-cleaner.js +92 -0
  23. package/dist-server/process-cleaner.js.map +1 -0
  24. package/dist-server/routers/domain-router.js +3 -3
  25. package/dist-server/routers/domain-router.js.map +1 -1
  26. package/dist-server/routers/global-router.js +6 -6
  27. package/dist-server/routers/global-router.js.map +1 -1
  28. package/dist-server/routers/index.d.ts +3 -3
  29. package/dist-server/routers/index.js +3 -3
  30. package/dist-server/routers/index.js.map +1 -1
  31. package/dist-server/schema.js +5 -4
  32. package/dist-server/schema.js.map +1 -1
  33. package/dist-server/server-dev.js +37 -39
  34. package/dist-server/server-dev.js.map +1 -1
  35. package/dist-server/server.js +34 -36
  36. package/dist-server/server.js.map +1 -1
  37. package/dist-server/service/attribute-set/attribute-set-item-type.js +3 -3
  38. package/dist-server/service/attribute-set/attribute-set-item-type.js.map +1 -1
  39. package/dist-server/service/attribute-set/attribute-set-mutation.d.ts +2 -2
  40. package/dist-server/service/attribute-set/attribute-set-mutation.js +16 -16
  41. package/dist-server/service/attribute-set/attribute-set-mutation.js.map +1 -1
  42. package/dist-server/service/attribute-set/attribute-set-query.d.ts +3 -3
  43. package/dist-server/service/attribute-set/attribute-set-query.js +15 -15
  44. package/dist-server/service/attribute-set/attribute-set-query.js.map +1 -1
  45. package/dist-server/service/attribute-set/attribute-set-type.d.ts +2 -2
  46. package/dist-server/service/attribute-set/attribute-set-type.js +5 -5
  47. package/dist-server/service/attribute-set/attribute-set-type.js.map +1 -1
  48. package/dist-server/service/attribute-set/attribute-set.d.ts +1 -1
  49. package/dist-server/service/attribute-set/attribute-set.js +2 -2
  50. package/dist-server/service/attribute-set/attribute-set.js.map +1 -1
  51. package/dist-server/service/attribute-set/index.d.ts +3 -3
  52. package/dist-server/service/attribute-set/index.js +5 -5
  53. package/dist-server/service/attribute-set/index.js.map +1 -1
  54. package/dist-server/service/common-types/index.d.ts +6 -6
  55. package/dist-server/service/common-types/index.js +6 -6
  56. package/dist-server/service/common-types/index.js.map +1 -1
  57. package/dist-server/service/common-types/list-param.js +2 -2
  58. package/dist-server/service/common-types/list-param.js.map +1 -1
  59. package/dist-server/service/common-types/log.js +2 -2
  60. package/dist-server/service/common-types/log.js.map +1 -1
  61. package/dist-server/service/common-types/scalar-object.d.ts +2 -1
  62. package/dist-server/service/common-types/scalar-object.js +2 -2
  63. package/dist-server/service/common-types/scalar-object.js.map +1 -1
  64. package/dist-server/service/directive-transaction/index.d.ts +1 -1
  65. package/dist-server/service/directive-transaction/index.js +1 -1
  66. package/dist-server/service/directive-transaction/index.js.map +1 -1
  67. package/dist-server/service/directive-transaction/transaction.js +2 -2
  68. package/dist-server/service/directive-transaction/transaction.js.map +1 -1
  69. package/dist-server/service/domain/domain-mutation.d.ts +2 -2
  70. package/dist-server/service/domain/domain-mutation.js +21 -21
  71. package/dist-server/service/domain/domain-mutation.js.map +1 -1
  72. package/dist-server/service/domain/domain-query.js +6 -6
  73. package/dist-server/service/domain/domain-query.js.map +1 -1
  74. package/dist-server/service/domain/domain-types.d.ts +2 -2
  75. package/dist-server/service/domain/domain-types.js +6 -6
  76. package/dist-server/service/domain/domain-types.js.map +1 -1
  77. package/dist-server/service/domain/index.d.ts +3 -3
  78. package/dist-server/service/domain/index.js +5 -5
  79. package/dist-server/service/domain/index.js.map +1 -1
  80. package/dist-server/service/index.d.ts +7 -7
  81. package/dist-server/service/index.js +16 -16
  82. package/dist-server/service/index.js.map +1 -1
  83. package/dist-server/service/subscription-data/data-resolver.d.ts +1 -1
  84. package/dist-server/service/subscription-data/data-resolver.js +4 -4
  85. package/dist-server/service/subscription-data/data-resolver.js.map +1 -1
  86. package/dist-server/service/subscription-data/data-types.d.ts +1 -1
  87. package/dist-server/service/subscription-data/data-types.js +5 -5
  88. package/dist-server/service/subscription-data/data-types.js.map +1 -1
  89. package/dist-server/service/subscription-data/index.d.ts +1 -1
  90. package/dist-server/service/subscription-data/index.js +2 -2
  91. package/dist-server/service/subscription-data/index.js.map +1 -1
  92. package/dist-server/tsconfig.tsbuildinfo +1 -1
  93. package/dist-server/typeorm/encrypt-transform.js +3 -3
  94. package/dist-server/typeorm/encrypt-transform.js.map +1 -1
  95. package/dist-server/utils/get-times-for-period.d.ts +24 -4
  96. package/dist-server/utils/get-times-for-period.js +42 -5
  97. package/dist-server/utils/get-times-for-period.js.map +1 -1
  98. package/dist-server/utils/index.d.ts +8 -8
  99. package/dist-server/utils/index.js +8 -8
  100. package/dist-server/utils/index.js.map +1 -1
  101. package/dist-server/utils/list-param-adjuster.d.ts +1 -1
  102. package/dist-server/utils/list-param-adjuster.js.map +1 -1
  103. package/dist-server/utils/list-params-converter.d.ts +2 -2
  104. package/dist-server/utils/list-params-converter.js +2 -2
  105. package/dist-server/utils/list-params-converter.js.map +1 -1
  106. package/dist-server/utils/list-query-builder.d.ts +1 -1
  107. package/dist-server/utils/list-query-builder.js +7 -7
  108. package/dist-server/utils/list-query-builder.js.map +1 -1
  109. package/dist-server/utils/publish-progress.js +2 -2
  110. package/dist-server/utils/publish-progress.js.map +1 -1
  111. package/package.json +14 -19
  112. package/translations/en.json +2 -0
  113. package/translations/ja.json +2 -0
  114. package/translations/ko.json +3 -1
  115. package/translations/ms.json +2 -0
  116. package/translations/zh.json +2 -0
  117. package/views/public/home.html +0 -1
  118. package/client/hot-client/hot.js +0 -140
  119. package/client/hot-client/index.js +0 -103
  120. package/client/hot-client/log.js +0 -44
  121. package/client/hot-client/socket.js +0 -63
  122. package/client/scene/scene-components.js +0 -3
  123. package/client/scene/scene-player.js +0 -103
  124. package/client/scene/scene-viewer.js +0 -106
  125. package/client/scene/things-scene-components.import +0 -1
  126. package/ormconfig.js +0 -31
  127. package/server/graphql-local-client.ts +0 -59
  128. package/server/index.ts +0 -13
  129. package/server/initializers/database.ts +0 -96
  130. package/server/initializers/naming-strategy.ts +0 -14
  131. package/server/middlewares/domain-middleware.ts +0 -60
  132. package/server/middlewares/index.ts +0 -43
  133. package/server/migrations/1000000000000-SeedDomain.ts +0 -37
  134. package/server/migrations/index.ts +0 -9
  135. package/server/pubsub-log-transport.ts +0 -59
  136. package/server/pubsub.ts +0 -84
  137. package/server/routers/domain-router.ts +0 -13
  138. package/server/routers/global-router.ts +0 -76
  139. package/server/routers/graphql-router.ts +0 -3
  140. package/server/routers/index.ts +0 -3
  141. package/server/schema.ts +0 -163
  142. package/server/server-dev.ts +0 -305
  143. package/server/server.ts +0 -296
  144. package/server/service/attribute-set/attribute-set-item-type.ts +0 -65
  145. package/server/service/attribute-set/attribute-set-mutation.ts +0 -125
  146. package/server/service/attribute-set/attribute-set-query.ts +0 -36
  147. package/server/service/attribute-set/attribute-set-type.ts +0 -46
  148. package/server/service/attribute-set/attribute-set.ts +0 -35
  149. package/server/service/attribute-set/index.ts +0 -6
  150. package/server/service/common-types/index.ts +0 -6
  151. package/server/service/common-types/list-param.ts +0 -61
  152. package/server/service/common-types/log.ts +0 -17
  153. package/server/service/common-types/object-ref.ts +0 -13
  154. package/server/service/common-types/scalar-any.ts +0 -44
  155. package/server/service/common-types/scalar-date.ts +0 -22
  156. package/server/service/common-types/scalar-object.ts +0 -15
  157. package/server/service/directive-transaction/index.ts +0 -1
  158. package/server/service/directive-transaction/transaction.ts +0 -40
  159. package/server/service/domain/domain-mutation.ts +0 -120
  160. package/server/service/domain/domain-query.ts +0 -55
  161. package/server/service/domain/domain-types.ts +0 -69
  162. package/server/service/domain/domain.ts +0 -112
  163. package/server/service/domain/index.ts +0 -6
  164. package/server/service/index.ts +0 -32
  165. package/server/service/subscription-data/data-resolver.ts +0 -37
  166. package/server/service/subscription-data/data-types.ts +0 -16
  167. package/server/service/subscription-data/index.ts +0 -4
  168. package/server/typeorm/encrypt-transform.ts +0 -70
  169. package/server/typeorm/get-data-encryption-key.ts +0 -13
  170. package/server/typeorm/json5-transform.ts +0 -26
  171. package/server/typeorm/round-transform.ts +0 -20
  172. package/server/utils/condition-builder.ts +0 -145
  173. package/server/utils/get-domain.ts +0 -228
  174. package/server/utils/get-query-builder-from-list-params.ts +0 -469
  175. package/server/utils/get-times-for-period.ts +0 -60
  176. package/server/utils/index.ts +0 -8
  177. package/server/utils/list-param-adjuster.ts +0 -21
  178. package/server/utils/list-params-converter.ts +0 -200
  179. package/server/utils/list-query-builder.ts +0 -120
  180. package/server/utils/publish-progress.ts +0 -23
@@ -1,26 +0,0 @@
1
- import { ValueTransformer } from 'typeorm'
2
- import json5 from 'json5'
3
-
4
- export const json5Transformer: ValueTransformer = {
5
- /**
6
- * Converts the entity's value to a JSON5 string before storing it in the database.
7
- * @param {any} entityValue - The unencrypted entity field value.
8
- * @returns {string} - The stringified JSON5 representation of the entityValue.
9
- */
10
- to(entityValue: any) {
11
- return entityValue === null || entityValue === undefined ? null : json5.stringify(entityValue)
12
- },
13
-
14
- /**
15
- * Converts a JSON5 string from the database back into its original type when retrieving it.
16
- * @param {string} databaseValue - The JSON5 string stored in the database.
17
- * @returns {any} - The original type of the entityValue, parsed from the JSON5 string.
18
- */
19
- from(databaseValue: string) {
20
- try {
21
- return databaseValue === null ? null : json5.parse(databaseValue)
22
- } finally {
23
- return databaseValue
24
- }
25
- }
26
- }
@@ -1,20 +0,0 @@
1
- import { ValueTransformer } from 'typeorm'
2
-
3
- /**
4
- * ValueTransformer object for rounding floating point values.
5
- */
6
- export const roundTransformer: ValueTransformer = {
7
- /**
8
- * Rounds the entity field value before storing it in the database.
9
- * @param {number | null} value - Floating point value to round or null
10
- * @returns {number | null} - Rounded number or null
11
- */
12
- to: (value: number | null) => (value !== null && !isNaN(value) ? Math.round(value * 10000) / 10000 : undefined),
13
-
14
- /**
15
- * Returns the entity field value as it is without any transformation when reading from the database.
16
- * @param {number} value - Number value read from the database
17
- * @returns {number} - The number value as is
18
- */
19
- from: (value: number) => value
20
- }
@@ -1,145 +0,0 @@
1
- import _ from 'lodash'
2
-
3
- /**
4
- * Generates and returns a condition clause based on the provided parameters.
5
- *
6
- * @param alias {string} Alias or table name of the entity.
7
- * @param fieldName {string} Field or column name.
8
- * @param operator {string} Comparison operator.
9
- * @param value {any} Value or an array of values to compare.
10
- * @param relation {boolean | string} Indicates if it's a related field or the name of the relation (optional).
11
- * @param seq {number} Integer representing the order of condition generation (internal use).
12
- * @returns {Object} An object containing the generated condition clause and parameters.
13
- */
14
- export const buildCondition = function (alias: string, fieldName: string, operator: string, value: any, relation: boolean | string, seq: number) {
15
- seq++
16
-
17
- fieldName = _.snakeCase(fieldName)
18
- const values = value instanceof Array ? value : [value]
19
-
20
- switch (operator) {
21
- case 'eq':
22
- return {
23
- clause: `${alias}.${fieldName} = :args${seq}`,
24
- parameters: { [`args${seq}`]: value }
25
- }
26
-
27
- case 'like':
28
- return {
29
- clause: `${alias}.${fieldName} LIKE :args${seq}`,
30
- parameters: { [`args${seq}`]: `${value}` }
31
- }
32
-
33
- case 'search':
34
- case 'i_like':
35
- return {
36
- clause: `LOWER(${alias}.${fieldName}) LIKE :args${seq}`,
37
- parameters: { [`args${seq}`]: `${String(value).toLowerCase()}` }
38
- }
39
-
40
- case 'nlike':
41
- return {
42
- clause: `${alias}.${fieldName} NOT LIKE :args${seq}`,
43
- value: { [`args${seq}`]: `${value}` }
44
- }
45
-
46
- case 'i_nlike':
47
- return {
48
- clause: `LOWER(${alias}.${fieldName}) NOT LIKE :args${seq}`,
49
- value: { [`args${seq}`]: `${String(value).toLowerCase()}` }
50
- }
51
-
52
- case 'lt':
53
- return {
54
- clause: `${alias}.${fieldName} < :args${seq}`,
55
- parameters: { [`args${seq}`]: value }
56
- }
57
-
58
- case 'gt':
59
- return {
60
- clause: `${alias}.${fieldName} > :args${seq}`,
61
- parameters: { [`args${seq}`]: value }
62
- }
63
-
64
- case 'lte':
65
- return {
66
- clause: `${alias}.${fieldName} <= :args${seq}`,
67
- parameters: { [`args${seq}`]: value }
68
- }
69
-
70
- case 'gte':
71
- return {
72
- clause: `${alias}.${fieldName} >= :args${seq}`,
73
- parameters: { [`args${seq}`]: value }
74
- }
75
-
76
- case 'noteq':
77
- return {
78
- clause: `${alias}.${fieldName} != :args${seq}`,
79
- parameters: { [`args${seq}`]: value }
80
- }
81
-
82
- case 'in':
83
- return {
84
- clause: relation ? `${fieldName}.id IN (:...args${seq})` : `${alias}.${fieldName} IN (:...args${seq})`,
85
- parameters: { [`args${seq}`]: values }
86
- }
87
-
88
- case 'notin':
89
- return {
90
- clause: relation ? `${fieldName}.id NOT IN (:...args${seq})` : `${alias}.${fieldName} NOT IN (:...args${seq})`,
91
- parameters: { [`args${seq}`]: values }
92
- }
93
-
94
- case 'notin_with_null':
95
- return {
96
- clause: relation
97
- ? `(${fieldName}.id IS NULL OR ${fieldName}.id NOT IN (:...args${seq})`
98
- : `${alias}.${fieldName} IS NULL OR ${alias}.${fieldName} NOT IN (:...args${seq}))`,
99
- parameters: { [`args${seq}`]: values }
100
- }
101
-
102
- case 'is_null':
103
- return {
104
- clause: `${alias}.${fieldName} IS NULL`
105
- }
106
- case 'is_not_null':
107
- return {
108
- clause: `${alias}.${fieldName} IS NOT NULL`
109
- }
110
- case 'is_false':
111
- return {
112
- clause: `${alias}.${fieldName} IS FALSE`
113
- }
114
- case 'is_true':
115
- return {
116
- clause: `${alias}.${fieldName} IS TRUE`
117
- }
118
- case 'is_not_false':
119
- return {
120
- clause: `${alias}.${fieldName} IS NOT FALSE`
121
- }
122
- case 'is_not_true':
123
- return {
124
- clause: `${alias}.${fieldName} IS NOT TRUE`
125
- }
126
- case 'is_present':
127
- return {
128
- clause: `${alias}.${fieldName} IS PRESENT`
129
- }
130
- case 'is_blank':
131
- return {
132
- clause: `${alias}.${fieldName} IS BLANK`
133
- }
134
- case 'is_empty_num_id':
135
- return {
136
- clause: `${alias}.${fieldName} IS EMPTY NUMERIC ID`
137
- }
138
-
139
- case 'between':
140
- return {
141
- clause: `${alias}.${fieldName} BETWEEN :args${seq}_1 AND :args${seq}_2`,
142
- parameters: { [`args${seq}_1`]: values[0], [`args${seq}_2`]: values[1] }
143
- }
144
- }
145
- }
@@ -1,228 +0,0 @@
1
- import { URL } from 'url'
2
-
3
- import { config } from '@things-factory/env'
4
- import { getPathInfo } from '@things-factory/utils'
5
-
6
- import { getRepository } from '../initializers/database'
7
- import { Domain } from '../service/domain/domain'
8
-
9
- const protocol: string = config.get('protocol')
10
- const fixed = config.get('subdomain')
11
- const domainTypes = config.get('domainTypes') || ['domain']
12
-
13
- /* 하위 호환성을 위해서, domain prefix가 없는 경우, domain을 추가해준다. */
14
- if (domainTypes.indexOf('domain') < 0) {
15
- domainTypes.push('domain')
16
- }
17
-
18
- const routePrefixForDomainType = `:domainType(${domainTypes.join('|')})`
19
-
20
- /**
21
- * Creates a URL based on the given context and path.
22
- *
23
- * @param context {Object} An object containing the current request context information.
24
- * @param path {string} The path to be added to the created URL (optional).
25
- * @returns {URL} The generated URL object.
26
- */
27
- export function getUrlFromContext(context, path = '') {
28
- const { method, href, host, header } = context
29
- const { referer } = header || {}
30
-
31
- var base = href
32
-
33
- if (method !== 'GET' && referer) {
34
- var { host: refererHost } = new URL(referer)
35
- if (refererHost === host) {
36
- base = referer
37
- }
38
- }
39
-
40
- let url: URL = new URL(path, base)
41
-
42
- const originalProtocol = context.headers['x-forwarded-proto']
43
- const originalHost = context.headers['x-forwarded-host']
44
- const originalPort = context.headers['x-forwarded-port']
45
-
46
- if (protocol || originalProtocol) {
47
- url.protocol = protocol || originalProtocol
48
- }
49
-
50
- if (originalHost) {
51
- url.host = originalHost
52
- if (originalPort) {
53
- url.port = originalPort
54
- }
55
- }
56
-
57
- return url
58
- }
59
-
60
- /**
61
- * Extracts a subdomain from the path.
62
- *
63
- * @param context {Object} An object containing the current request context information.
64
- * @returns {string} The extracted subdomain.
65
- */
66
- function getSubdomainFromPath(context: any) {
67
- var { path } = context
68
-
69
- var subdomain = getPathInfo(path || '', domainTypes)?.subdomain
70
- if (subdomain) {
71
- return subdomain
72
- }
73
-
74
- var {
75
- header: { referer }
76
- } = context
77
-
78
- if (referer) {
79
- var { pathname } = new URL(referer)
80
- return getPathInfo(pathname || '', domainTypes)?.subdomain
81
- }
82
- }
83
-
84
- /**
85
- * Extracts the subdomain type from the given context's path or referer header.
86
- *
87
- * @param context - The context object containing path and header information.
88
- * @returns The subdomain type if found, otherwise undefined.
89
- */
90
- function getSubdomainTypeFromPath(context: any) {
91
- var { path } = context
92
-
93
- var prefix = getPathInfo(path || '', domainTypes)?.prefix
94
- if (prefix) {
95
- return prefix
96
- }
97
-
98
- var {
99
- header: { referer }
100
- } = context
101
-
102
- if (referer) {
103
- var { pathname } = new URL(referer)
104
- return getPathInfo(pathname || '', domainTypes)?.prefix
105
- }
106
- }
107
-
108
- /**
109
- * Extracts a subdomain from the URL context.
110
- *
111
- * @param context {Object} An object containing the current request context information.
112
- * @returns {string} The extracted subdomain.
113
- */
114
- function getSubdomainFromURL(context) {
115
- return fixed || getSubdomainFromPath(context)
116
- }
117
-
118
- function getSubdomainTypeFromURL(context) {
119
- return fixed ? '' : getSubdomainTypeFromPath(context)
120
- }
121
-
122
- /**
123
- * Asynchronously searches for a domain object based on the URL context.
124
- *
125
- * @param context {Object} An object containing the current request context information.
126
- * @returns {Promise<Domain>} A promise that resolves to the domain object.
127
- */
128
- export async function getDomainFromURL(context: any): Promise<Domain> {
129
- const { header } = context
130
-
131
- const subdomain = header['x-things-factory-domain'] || getSubdomainFromURL(context)
132
- const extType = header['x-things-factory-type'] || getSubdomainTypeFromURL(context)
133
-
134
- if (subdomain) {
135
- return await getRepository(Domain).findOne({
136
- where:
137
- fixed || extType == 'domain' || !extType
138
- ? {
139
- subdomain
140
- }
141
- : {
142
- subdomain,
143
- extType
144
- },
145
- cache: true
146
- })
147
- }
148
- }
149
-
150
- /**
151
- * Generates a context path based on the subdomain.
152
- *
153
- * @param subdomain {string} The subdomain.
154
- * @returns {string} The generated context path.
155
- */
156
- export function getContextPath(domain: Domain) {
157
- const type = domain?.extType || 'domain'
158
- return fixed || !domain ? '' : `${type}/${domain?.subdomain}/`
159
- }
160
-
161
- /**
162
- * Generates a redirection path considering the subdomain.
163
- *
164
- * @param context {Object} An object containing the current request context information.
165
- * @param subdomain {Domain} The target domain.
166
- * @param redirectTo {string} The path to redirect to (optional).
167
- * @returns {string} The generated redirection path.
168
- */
169
- export function getRedirectSubdomainPath(context, domain: Partial<Domain>, redirectTo: string = '/') {
170
- if (fixed || !domain) {
171
- return redirectTo || '/'
172
- }
173
-
174
- const type = domain.extType || 'domain'
175
- const subdomain = domain.subdomain || fixed
176
-
177
- var parsed = getUrlFromContext(context, redirectTo)
178
- var { hostname, pathname } = parsed
179
-
180
- const contextPath = `/${type}/${subdomain}`
181
- const match = pathname.match(new RegExp(`^/${type}/([^\/]+)`))
182
-
183
- if (match) {
184
- parsed.pathname = pathname.replace(match[0], contextPath)
185
- } else {
186
- parsed.pathname = `${contextPath}${pathname}`
187
- }
188
-
189
- return parsed.toString()
190
- }
191
-
192
- /**
193
- * Finds a subdomain from the given path.
194
- *
195
- * @param context {Object} An object containing the current request context information.
196
- * @param path {string} The path to search in.
197
- * @returns {string} The found subdomain.
198
- */
199
- export function findSubdomainFromPath(context, path) {
200
- if (fixed) {
201
- return fixed
202
- }
203
-
204
- var parsed = getUrlFromContext(context, path)
205
- var { pathname } = parsed
206
-
207
- const match = pathname.match(new RegExp(`^/${getSubdomainTypeFromURL(context)}/([^\/]+)`))
208
- return match && match[1]
209
- }
210
-
211
- /**
212
- * Retrieves the route prefix for a specific domain type.
213
- *
214
- * @returns {string} The route prefix associated with the domain type.
215
- */
216
- export function getRoutePrefixForDomainType() {
217
- return routePrefixForDomainType
218
- }
219
-
220
- /**
221
- * Generates a site root path based on the current environment.
222
- *
223
- * @param context {Object} An object containing the current request context information.
224
- * @returns {string} The generated site root path.
225
- */
226
- export function getSiteRootPath(context) {
227
- return '/'
228
- }