@docupace/ihub-config 1.0.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.
- package/README.md +82 -0
- package/dist/config/config-injector.d.ts +24 -0
- package/dist/config/config-injector.d.ts.map +1 -0
- package/dist/config/config-injector.js +28 -0
- package/dist/config/config-injector.js.map +1 -0
- package/dist/config/template-processor.d.ts +25 -0
- package/dist/config/template-processor.d.ts.map +1 -0
- package/dist/config/template-processor.js +154 -0
- package/dist/config/template-processor.js.map +1 -0
- package/dist/config-extension.d.ts +11 -0
- package/dist/config-extension.d.ts.map +1 -0
- package/dist/config-extension.js +42 -0
- package/dist/config-extension.js.map +1 -0
- package/dist/config-providers/base-config.d.ts +8 -0
- package/dist/config-providers/base-config.d.ts.map +1 -0
- package/dist/config-providers/base-config.js +2 -0
- package/dist/config-providers/base-config.js.map +1 -0
- package/dist/config-providers/index.d.ts +5 -0
- package/dist/config-providers/index.d.ts.map +1 -0
- package/dist/config-providers/index.js +8 -0
- package/dist/config-providers/index.js.map +1 -0
- package/dist/config-resolvers/index.d.ts +15 -0
- package/dist/config-resolvers/index.d.ts.map +1 -0
- package/dist/config-resolvers/index.js +24 -0
- package/dist/config-resolvers/index.js.map +1 -0
- package/dist/config-service.d.ts +63 -0
- package/dist/config-service.d.ts.map +1 -0
- package/dist/config-service.js +515 -0
- package/dist/config-service.js.map +1 -0
- package/dist/env.d.ts +2 -0
- package/dist/env.d.ts.map +1 -0
- package/dist/env.js +3 -0
- package/dist/env.js.map +1 -0
- package/dist/globals.d.ts +30 -0
- package/dist/globals.d.ts.map +1 -0
- package/dist/globals.js +95 -0
- package/dist/globals.js.map +1 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -0
- package/dist/instance-config.d.ts +21 -0
- package/dist/instance-config.d.ts.map +1 -0
- package/dist/instance-config.js +74 -0
- package/dist/instance-config.js.map +1 -0
- package/dist/lib/file-system.d.ts +2 -0
- package/dist/lib/file-system.d.ts.map +1 -0
- package/dist/lib/file-system.js +11 -0
- package/dist/lib/file-system.js.map +1 -0
- package/dist/lib/filters.d.ts +7 -0
- package/dist/lib/filters.d.ts.map +1 -0
- package/dist/lib/filters.js +123 -0
- package/dist/lib/filters.js.map +1 -0
- package/dist/lib/param-helpers.d.ts +11 -0
- package/dist/lib/param-helpers.d.ts.map +1 -0
- package/dist/lib/param-helpers.js +54 -0
- package/dist/lib/param-helpers.js.map +1 -0
- package/dist/lib/replace-dots-outside-expressions.d.ts +2 -0
- package/dist/lib/replace-dots-outside-expressions.d.ts.map +1 -0
- package/dist/lib/replace-dots-outside-expressions.js +10 -0
- package/dist/lib/replace-dots-outside-expressions.js.map +1 -0
- package/dist/lib/sort.d.ts +2 -0
- package/dist/lib/sort.d.ts.map +1 -0
- package/dist/lib/sort.js +25 -0
- package/dist/lib/sort.js.map +1 -0
- package/dist/mappers/config-mapper.d.ts +8 -0
- package/dist/mappers/config-mapper.d.ts.map +1 -0
- package/dist/mappers/config-mapper.js +17 -0
- package/dist/mappers/config-mapper.js.map +1 -0
- package/dist/model/graphs/config/common.graphql +8 -0
- package/dist/model/graphs/config/fields.graphql +338 -0
- package/dist/model/graphs/config/menu.graphql +40 -0
- package/dist/model/graphs/config/mutation.graphql +30 -0
- package/dist/model/graphs/config/page.graphql +227 -0
- package/dist/model/graphs/config/panel.graphql +30 -0
- package/dist/model/graphs/config/query.graphql +55 -0
- package/dist/model/graphs/config/selectOptions.graphql +47 -0
- package/dist/model/graphs/config/table.graphql +97 -0
- package/dist/model/graphs/config/tests.graphql +16 -0
- package/dist/model/graphs/config/theme.graphql +41 -0
- package/dist/model/graphs/config/ui-components.graphql +11 -0
- package/dist/model/graphs/domains/scalars.graphql +3 -0
- package/dist/model/graphs/filter.graphql +5 -0
- package/dist/model/graphs/schema.graphql +7 -0
- package/dist/server.d.ts +2 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +34 -0
- package/dist/server.js.map +1 -0
- package/dist/types/filter-types.d.ts +62 -0
- package/dist/types/filter-types.d.ts.map +1 -0
- package/dist/types/filter-types.js +28 -0
- package/dist/types/filter-types.js.map +1 -0
- package/dist/types/graphql.d.ts +74630 -0
- package/dist/types/graphql.d.ts.map +1 -0
- package/dist/types/graphql.js +94 -0
- package/dist/types/graphql.js.map +1 -0
- package/dist/types/types.d.ts +13 -0
- package/dist/types/types.d.ts.map +1 -0
- package/dist/types/types.js +2 -0
- package/dist/types/types.js.map +1 -0
- package/model/graphs/config/common.graphql +8 -0
- package/model/graphs/config/fields.graphql +338 -0
- package/model/graphs/config/menu.graphql +40 -0
- package/model/graphs/config/mutation.graphql +30 -0
- package/model/graphs/config/page.graphql +227 -0
- package/model/graphs/config/panel.graphql +30 -0
- package/model/graphs/config/query.graphql +55 -0
- package/model/graphs/config/selectOptions.graphql +47 -0
- package/model/graphs/config/table.graphql +97 -0
- package/model/graphs/config/tests.graphql +16 -0
- package/model/graphs/config/theme.graphql +41 -0
- package/model/graphs/config/ui-components.graphql +11 -0
- package/model/graphs/domains/scalars.graphql +3 -0
- package/model/graphs/filter.graphql +5 -0
- package/model/graphs/schema.graphql +7 -0
- package/package.json +63 -0
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
interface Page {
|
|
2
|
+
title: String
|
|
3
|
+
description: String
|
|
4
|
+
config: JSON
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
type OverviewPage implements Page {
|
|
8
|
+
title: String
|
|
9
|
+
description: String
|
|
10
|
+
domain: String
|
|
11
|
+
cards: [Card]
|
|
12
|
+
menuItems: [MenuItem]
|
|
13
|
+
config: JSON
|
|
14
|
+
tables: [Table]
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
type TablePage implements Page {
|
|
18
|
+
title: String
|
|
19
|
+
component: String
|
|
20
|
+
description: String
|
|
21
|
+
actionButton: ActionButton
|
|
22
|
+
table: AnyTable!
|
|
23
|
+
panel: Panel
|
|
24
|
+
config: JSON
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
type ComponentPage implements Page {
|
|
28
|
+
title: String
|
|
29
|
+
description: String
|
|
30
|
+
component: String
|
|
31
|
+
panel: Panel
|
|
32
|
+
config: JSON
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
type TabbedPage implements Page {
|
|
36
|
+
title: String
|
|
37
|
+
description: String
|
|
38
|
+
tabs: [Tab!]!
|
|
39
|
+
config: JSON
|
|
40
|
+
gqlQuery: GQLQuery
|
|
41
|
+
# TODO: Replace `mutations` (currently a JSON object used as { [mutationName: String]: GQLQuery }) with a properly typed map.
|
|
42
|
+
mutations: JSON
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
type DetailsPage implements Page {
|
|
46
|
+
title: String
|
|
47
|
+
description: String
|
|
48
|
+
panel: Panel
|
|
49
|
+
config: JSON
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
type DomainRecordTemplate implements Page {
|
|
53
|
+
title: String
|
|
54
|
+
description: String
|
|
55
|
+
sideMenu: SideMenu
|
|
56
|
+
viewer: Viewer
|
|
57
|
+
config: JSON
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
type PageLayout implements Page {
|
|
61
|
+
title: String
|
|
62
|
+
description: String
|
|
63
|
+
sideMenu: SideMenu
|
|
64
|
+
widgets: [ExternalWidget]
|
|
65
|
+
config: JSON
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
type DashboardPage implements Page {
|
|
69
|
+
panel: DashboardPanel
|
|
70
|
+
title: String
|
|
71
|
+
description: String
|
|
72
|
+
config: JSON
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
type ReportPage implements Page {
|
|
76
|
+
title: String
|
|
77
|
+
description: String
|
|
78
|
+
controlPanel: Panel
|
|
79
|
+
dashboardPanel: DashboardPanel
|
|
80
|
+
config: JSON
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
type AnyPage implements Page {
|
|
84
|
+
title: String
|
|
85
|
+
description: String
|
|
86
|
+
tables: [NamedTable!]
|
|
87
|
+
panels: [Panel!]
|
|
88
|
+
tabbedPages: [TabbedPage!]
|
|
89
|
+
config: JSON
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
type WizardPage implements Page {
|
|
93
|
+
description: String
|
|
94
|
+
title : String
|
|
95
|
+
dataSource: String
|
|
96
|
+
steps: [Step!]!
|
|
97
|
+
loadWizardByCustodian: [LoadWizardByCustodian]
|
|
98
|
+
defaultWizard: String
|
|
99
|
+
# TODO: Replace `mutations` (currently a JSON object used as { [mutationName: String]: GQLQuery }) with a properly typed map.
|
|
100
|
+
mutations: JSON
|
|
101
|
+
config: JSON
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
type LoadWizardByCustodian {
|
|
105
|
+
custodian: String
|
|
106
|
+
wizard: String
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
type Step {
|
|
110
|
+
id : String!
|
|
111
|
+
label : String!
|
|
112
|
+
icon: String
|
|
113
|
+
page : Page
|
|
114
|
+
visibilityCondition: String
|
|
115
|
+
pathUrl: String
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
type SideMenu {
|
|
119
|
+
headerCard: Card
|
|
120
|
+
menuItems: [MenuItem!]
|
|
121
|
+
dataCard: Card
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
type CardView {
|
|
125
|
+
queryName: String
|
|
126
|
+
card: Card!
|
|
127
|
+
groups: CardGroups
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
type CardGroups {
|
|
131
|
+
queryName: String!
|
|
132
|
+
titlePath: String!
|
|
133
|
+
configKeyPath: String!
|
|
134
|
+
dataKeyPath: String!
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
type Tab {
|
|
138
|
+
name: String!
|
|
139
|
+
label: String!
|
|
140
|
+
page: Page!
|
|
141
|
+
visibilityCondition: String
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
type DashboardPanel implements IPanel {
|
|
145
|
+
name: String
|
|
146
|
+
rows: [DashboardPanelRow!]
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
type DashboardPanelRow implements IPanelRow {
|
|
150
|
+
name: String!
|
|
151
|
+
title: String
|
|
152
|
+
titleVariant: String
|
|
153
|
+
layout: Number
|
|
154
|
+
hidden: Boolean
|
|
155
|
+
visibilityCondition: String
|
|
156
|
+
elements: [Widget!]
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
type Preview {
|
|
160
|
+
headerCard: Card
|
|
161
|
+
panel: Panel
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
interface ICard implements IElement {
|
|
165
|
+
name: String
|
|
166
|
+
component: String
|
|
167
|
+
config: JSON
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
interface QuickApp {
|
|
171
|
+
url: String
|
|
172
|
+
appPreference: String
|
|
173
|
+
target: Boolean
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
type CardRow {
|
|
177
|
+
name: String
|
|
178
|
+
paths: [String!]
|
|
179
|
+
expression: String
|
|
180
|
+
icon: String
|
|
181
|
+
component: String
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
type Card implements ICard & IRowElement & IElement {
|
|
185
|
+
name: String
|
|
186
|
+
component: String!
|
|
187
|
+
config: JSON
|
|
188
|
+
cols: Int
|
|
189
|
+
title: String
|
|
190
|
+
rows: [CardRow]
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
type Widget implements ICard & IRowElement & IElement & QuickApp {
|
|
194
|
+
id: String!
|
|
195
|
+
name: String
|
|
196
|
+
title: String
|
|
197
|
+
description: String
|
|
198
|
+
component: String
|
|
199
|
+
config: JSON
|
|
200
|
+
cols: Int
|
|
201
|
+
table: AnyTable
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
type ExternalWidget {
|
|
205
|
+
id: String
|
|
206
|
+
name: String
|
|
207
|
+
description: String
|
|
208
|
+
visibilityCondition: String
|
|
209
|
+
config: JSON
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
type ViewerOptions {
|
|
213
|
+
thumbnails: Boolean
|
|
214
|
+
pageNavigation: Boolean
|
|
215
|
+
lazyLoading: Boolean
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
type ViewerToolbar {
|
|
219
|
+
menuItems: [MenuItem!]!
|
|
220
|
+
actionButton: ActionButton
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
type Viewer {
|
|
224
|
+
documentActions: [MenuItem!]
|
|
225
|
+
options: ViewerOptions
|
|
226
|
+
toolbar: ViewerToolbar
|
|
227
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
interface IPanel {
|
|
2
|
+
name: String
|
|
3
|
+
rows: [IPanelRow!]
|
|
4
|
+
dataType: String
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
interface IPanelRow {
|
|
8
|
+
elements: [IRowElement!]
|
|
9
|
+
name: String
|
|
10
|
+
title: String
|
|
11
|
+
titleVariant: String
|
|
12
|
+
visibilityCondition: String
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
type Panel implements IPanel {
|
|
16
|
+
columns: Int
|
|
17
|
+
isGrouped: Boolean
|
|
18
|
+
name: String
|
|
19
|
+
rows: [PanelRow!]!
|
|
20
|
+
dataType: String
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
type PanelRow implements IPanelRow {
|
|
24
|
+
elements: [IRowElement!]
|
|
25
|
+
hasDivider: Boolean
|
|
26
|
+
name: String
|
|
27
|
+
title: String
|
|
28
|
+
titleVariant: String
|
|
29
|
+
visibilityCondition: String
|
|
30
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
|
|
2
|
+
type PageQuery {
|
|
3
|
+
getPageConfig(path : String) : Page
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
type WidgetQuery {
|
|
7
|
+
list(search: String) : [Widget!]
|
|
8
|
+
get(path : String) : Widget
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
type ThemeQuery {
|
|
12
|
+
get(path: String): Theme
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
type ConfigQuery {
|
|
16
|
+
pages : PageQuery
|
|
17
|
+
widgets : WidgetQuery
|
|
18
|
+
tests: TestQuery
|
|
19
|
+
themes: ThemeQuery
|
|
20
|
+
data : DataQuery
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
type DataQuery {
|
|
24
|
+
get(path : String) : [DataResult!]
|
|
25
|
+
list(path : String) : [String]
|
|
26
|
+
getSeedConfig(path: String): SeedConfigResult
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
type DataResult {
|
|
30
|
+
config: DataConfig
|
|
31
|
+
data: JSON!
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
type DataConfig {
|
|
35
|
+
severity: String
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
type SeedConfigResult {
|
|
39
|
+
typeName: String!
|
|
40
|
+
updateMethod: String
|
|
41
|
+
updateInputType: String
|
|
42
|
+
createMethod: String
|
|
43
|
+
createInputType: String
|
|
44
|
+
referenceByIdPaths: [String]
|
|
45
|
+
referencePaths: [String]
|
|
46
|
+
doNotUpdate: Boolean
|
|
47
|
+
doNotDelete: Boolean
|
|
48
|
+
uniqueColumns: [String]
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
type GQLQuery {
|
|
52
|
+
queryName: String
|
|
53
|
+
operationName: String
|
|
54
|
+
variableDefinitions: JSON
|
|
55
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
interface ISelectOptions {
|
|
2
|
+
type: String
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
type SelectOptionsFilter {
|
|
6
|
+
path: String
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
type QuerySelectOptions implements ISelectOptions {
|
|
10
|
+
type: String
|
|
11
|
+
labelProp: String # defaults to "name" in ui
|
|
12
|
+
valueProp: String # defaults to "id" in ui
|
|
13
|
+
queryName: String!
|
|
14
|
+
variableDefinitions: JSON
|
|
15
|
+
variables: JSON
|
|
16
|
+
paths: [String!]!
|
|
17
|
+
operationName: String
|
|
18
|
+
expression: String
|
|
19
|
+
maxRows: Int
|
|
20
|
+
variablesExpressions: JSON
|
|
21
|
+
responsePathPrefix: String
|
|
22
|
+
where: WhereFilterConfig
|
|
23
|
+
filter: SelectOptionsFilter
|
|
24
|
+
excludeId: Boolean
|
|
25
|
+
queryOnTyping: Boolean # if true, query will be triggered on typing
|
|
26
|
+
minLength: Int # minimum length of input to trigger query
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
type ValueSelectOptions implements ISelectOptions {
|
|
30
|
+
type: String
|
|
31
|
+
values: [SelectValue!]!
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
type SelectValue {
|
|
35
|
+
label: String!
|
|
36
|
+
value: JSON!
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
type DropdownSelectOptions implements ISelectOptions {
|
|
40
|
+
type: String
|
|
41
|
+
dropdownName: String!
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
type WhereFilterConfig {
|
|
45
|
+
type: String!
|
|
46
|
+
value: JSON
|
|
47
|
+
}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
|
|
2
|
+
interface ITable {
|
|
3
|
+
dataType: String
|
|
4
|
+
selection: TableSelection
|
|
5
|
+
disableColumnSorting: Boolean
|
|
6
|
+
disableRowClick: Boolean
|
|
7
|
+
queryName: String!
|
|
8
|
+
operationName: String
|
|
9
|
+
variableDefinitions: JSON
|
|
10
|
+
variablesExpressions: JSON
|
|
11
|
+
filter: TableFilter
|
|
12
|
+
search: SimpleSearch
|
|
13
|
+
menuItems: [MenuItem!]
|
|
14
|
+
columns: [Column!]!
|
|
15
|
+
rowMenuItems: [MenuItem!]
|
|
16
|
+
preview: Preview
|
|
17
|
+
cardView: CardView
|
|
18
|
+
orderBy: [OrderBy!]
|
|
19
|
+
flattenDataKey: String
|
|
20
|
+
actionButton: ActionButton
|
|
21
|
+
pagingMode: String
|
|
22
|
+
maxRows: Int
|
|
23
|
+
pageSizeOptions: [Int!]
|
|
24
|
+
defaultPageSize: Int
|
|
25
|
+
useCardView: Boolean
|
|
26
|
+
whereFilter: WhereFilter
|
|
27
|
+
whereFilterName: String
|
|
28
|
+
emptyStateMessage: String
|
|
29
|
+
unstructuredData: Boolean
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
type OrderBy {
|
|
33
|
+
path: String!
|
|
34
|
+
orderType: OrderType!
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
type TableSelection {
|
|
38
|
+
enabled: Boolean
|
|
39
|
+
label: String
|
|
40
|
+
action: String
|
|
41
|
+
visibilityCondition: String
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
type Table implements ITable
|
|
45
|
+
|
|
46
|
+
type NamedTable implements ITable {
|
|
47
|
+
name: String
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
type TabbedTable {
|
|
51
|
+
tabs: [TableTab!]!
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
union AnyTable = Table | TabbedTable
|
|
55
|
+
|
|
56
|
+
type TableTab {
|
|
57
|
+
name : String!
|
|
58
|
+
label: String!
|
|
59
|
+
table: Table!
|
|
60
|
+
visibilityCondition: String
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
type TableFilter {
|
|
64
|
+
criteria: [TableCriteria!]!
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
type TableCriteria {
|
|
68
|
+
name: String!
|
|
69
|
+
label: String!
|
|
70
|
+
labelProp: String
|
|
71
|
+
path: String!
|
|
72
|
+
dataType: String
|
|
73
|
+
selectOptions: QuerySelectOptions
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
type Column {
|
|
77
|
+
name: String!
|
|
78
|
+
label: String!
|
|
79
|
+
visible: Boolean
|
|
80
|
+
paths: [String!]
|
|
81
|
+
expression: String
|
|
82
|
+
component: String
|
|
83
|
+
sortable: Boolean
|
|
84
|
+
flex: Float
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
type SimpleSearch {
|
|
88
|
+
filterType: String
|
|
89
|
+
searchBy: String
|
|
90
|
+
placeholder: String
|
|
91
|
+
selectOptions: QuerySelectOptions!
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
type WhereFilter {
|
|
95
|
+
type: String!
|
|
96
|
+
value: JSON!
|
|
97
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
type Base64Image {
|
|
2
|
+
"Base64 encoded image data"
|
|
3
|
+
data: String!
|
|
4
|
+
"MIME type of the image (e.g. 'image/png', 'image/jpeg')"
|
|
5
|
+
mimeType: String!
|
|
6
|
+
"Unique hash of the image data for caching purposes"
|
|
7
|
+
hash: String!
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
type Theme {
|
|
11
|
+
name: String
|
|
12
|
+
"Base64 encoded logo image data"
|
|
13
|
+
logoImage: Base64Image
|
|
14
|
+
"""
|
|
15
|
+
@deprecated Use logoImage instead
|
|
16
|
+
SVG logo image data in string format
|
|
17
|
+
"""
|
|
18
|
+
logoSvg: String
|
|
19
|
+
"Base64 encoded sidebar logo image data"
|
|
20
|
+
sidebarLogoImage: Base64Image
|
|
21
|
+
"""
|
|
22
|
+
@deprecated Use sidebarLogoImage instead
|
|
23
|
+
SVG sidebar logo image data in string format
|
|
24
|
+
"""
|
|
25
|
+
sidebarLogoSvg: String
|
|
26
|
+
"Base64 encoded login logo image data"
|
|
27
|
+
loginLogoImage: Base64Image
|
|
28
|
+
"""
|
|
29
|
+
@deprecated Use loginLogoImage instead
|
|
30
|
+
SVG login logo image data in string format
|
|
31
|
+
"""
|
|
32
|
+
loginLogoSvg: String
|
|
33
|
+
"Base64 encoded login background image data"
|
|
34
|
+
loginBackgroundImage: Base64Image
|
|
35
|
+
"""
|
|
36
|
+
@deprecated Use loginBackgroundImage instead
|
|
37
|
+
SVG login background image data in string format
|
|
38
|
+
"""
|
|
39
|
+
loginBackgroundSvg: String
|
|
40
|
+
colors: JSON
|
|
41
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@docupace/ihub-config",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Reusable config GraphQL extension and standalone server",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"type": "module",
|
|
7
|
+
"keywords": [
|
|
8
|
+
"graphql",
|
|
9
|
+
"config",
|
|
10
|
+
"extension"
|
|
11
|
+
],
|
|
12
|
+
"author": "",
|
|
13
|
+
"license": "ISC",
|
|
14
|
+
"dependencies": {
|
|
15
|
+
"@docupace/ihub-cache": "1.0.1",
|
|
16
|
+
"@docupace/ihub-core": "0.0.114-alpha.1",
|
|
17
|
+
"axios": "^1.13.5",
|
|
18
|
+
"cross-env": "^7.0.3",
|
|
19
|
+
"dotenv": "^16.4.1",
|
|
20
|
+
"graphql": "^16.8.1",
|
|
21
|
+
"js-yaml": "^4.1.0",
|
|
22
|
+
"lodash": "^4.17.21",
|
|
23
|
+
"pino": "^10.3.1",
|
|
24
|
+
"simple-git": "^3.22.0"
|
|
25
|
+
},
|
|
26
|
+
"devDependencies": {
|
|
27
|
+
"@types/jest": "^30.0.0",
|
|
28
|
+
"@types/lodash": "^4.17.7",
|
|
29
|
+
"@types/node": "^20.10.6",
|
|
30
|
+
"cpx": "^1.5.0",
|
|
31
|
+
"eslint": "8",
|
|
32
|
+
"jest": "^29.7.0",
|
|
33
|
+
"nock": "^13.5.6",
|
|
34
|
+
"pino-pretty": "^13.1.2",
|
|
35
|
+
"ts-jest": "^29.1.1",
|
|
36
|
+
"ts-node": "^10.9.1",
|
|
37
|
+
"tsx": "^4.11.2",
|
|
38
|
+
"typescript": "^5.3.3"
|
|
39
|
+
},
|
|
40
|
+
"types": "dist/index.d.ts",
|
|
41
|
+
"files": [
|
|
42
|
+
"dist",
|
|
43
|
+
"model",
|
|
44
|
+
"README.md",
|
|
45
|
+
".env.example"
|
|
46
|
+
],
|
|
47
|
+
"exports": {
|
|
48
|
+
".": {
|
|
49
|
+
"types": "./dist/index.d.ts",
|
|
50
|
+
"default": "./dist/index.js"
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
"scripts": {
|
|
54
|
+
"test": "NODE_OPTIONS='--experimental-vm-modules' jest",
|
|
55
|
+
"test:coverage": "NODE_OPTIONS='--experimental-vm-modules' jest --coverage",
|
|
56
|
+
"start:dev": "cross-env NODE_ENV=development tsx watch --clear-screen --no-cache src/server.ts --log-level debug | pino-pretty",
|
|
57
|
+
"start": "node dist/server.js",
|
|
58
|
+
"build": "rm -rf dist && tsc && cpx \"model/**/*.yaml\" ./dist/model && cpx \"model/**/*.graphql\" ./dist/model",
|
|
59
|
+
"start:build": "rm -rf dist && tsc && cpx \"model/**/*.yaml\" ./dist/model && cpx \"model/**/*.graphql\" ./dist/model && node dist/server.js",
|
|
60
|
+
"lint": "eslint \"src/**/*.{js,jsx,ts,tsx}\" \"tests/**/*.{js,jsx,ts,tsx}\" \"model/**/*.{js,jsx,ts,tsx}\"",
|
|
61
|
+
"lint:fix": "eslint --fix \"src/**/*.{js,jsx,ts,tsx}\" \"tests/**/*.{js,jsx,ts,tsx}\" \"model/**/*.{js,jsx,ts,tsx}\""
|
|
62
|
+
}
|
|
63
|
+
}
|